aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/xen/xenfs
diff options
context:
space:
mode:
authorDiego Ongaro <diego.ongaro@citrix.com>2010-09-01 09:18:54 -0700
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-09-01 09:25:41 -0700
commit6d6df2e412297b8047c407b3abcd045a67c96744 (patch)
treee333023929e8669d533598b1437ae8cf9a992c2e /drivers/xen/xenfs
parentxenfs/xenbus: report partial reads/writes correctly (diff)
downloadlinux-dev-6d6df2e412297b8047c407b3abcd045a67c96744.tar.xz
linux-dev-6d6df2e412297b8047c407b3abcd045a67c96744.zip
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>
Diffstat (limited to 'drivers/xen/xenfs')
-rw-r--r--drivers/xen/xenfs/xenbus.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/xen/xenfs/xenbus.c b/drivers/xen/xenfs/xenbus.c
index d2a905826804..46cf4048e60e 100644
--- a/drivers/xen/xenfs/xenbus.c
+++ b/drivers/xen/xenfs/xenbus.c
@@ -486,21 +486,6 @@ static ssize_t xenbus_file_write(struct file *filp,
msg_type = u->u.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_UNWATCH:
/* (Un)Ask for some path to be watched for changes */
@@ -508,7 +493,8 @@ static ssize_t xenbus_file_write(struct file *filp,
break;
default:
- ret = -EINVAL;
+ /* Send out a transaction */
+ ret = xenbus_write_transaction(msg_type, u);
break;
}
if (ret != 0)