forked from luck/tmp_suning_uos_patched
xenbus: allow any xenbus command over /proc/xen/xenbus
When xenstored is in another domain, we need to be able to send any command over xenbus. This doesn't pose a security problem because its up to xenstored to determine whether a given client is allowed to use a particular command anyway. From linux-2.5.18-xen.hg 68d582b0ad05. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
This commit is contained in:
parent
fb27cfbcbd
commit
6d6df2e412
@ -486,21 +486,6 @@ static ssize_t xenbus_file_write(struct file *filp,
|
|||||||
msg_type = u->u.msg.type;
|
msg_type = u->u.msg.type;
|
||||||
|
|
||||||
switch (msg_type) {
|
switch (msg_type) {
|
||||||
case XS_TRANSACTION_START:
|
|
||||||
case XS_TRANSACTION_END:
|
|
||||||
case XS_DIRECTORY:
|
|
||||||
case XS_READ:
|
|
||||||
case XS_GET_PERMS:
|
|
||||||
case XS_RELEASE:
|
|
||||||
case XS_GET_DOMAIN_PATH:
|
|
||||||
case XS_WRITE:
|
|
||||||
case XS_MKDIR:
|
|
||||||
case XS_RM:
|
|
||||||
case XS_SET_PERMS:
|
|
||||||
/* Send out a transaction */
|
|
||||||
ret = xenbus_write_transaction(msg_type, u);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case XS_WATCH:
|
case XS_WATCH:
|
||||||
case XS_UNWATCH:
|
case XS_UNWATCH:
|
||||||
/* (Un)Ask for some path to be watched for changes */
|
/* (Un)Ask for some path to be watched for changes */
|
||||||
@ -508,7 +493,8 @@ static ssize_t xenbus_file_write(struct file *filp,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ret = -EINVAL;
|
/* Send out a transaction */
|
||||||
|
ret = xenbus_write_transaction(msg_type, u);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user