diff options
author | Diego Ongaro <diego.ongaro@citrix.com> | 2010-09-01 09:18:54 -0700 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-09-01 09:25:41 -0700 |
commit | 6d6df2e412297b8047c407b3abcd045a67c96744 (patch) | |
tree | e333023929e8669d533598b1437ae8cf9a992c2e /drivers/xen | |
parent | fb27cfbcbd2865b0e731c4aae47df71778da805e (diff) | |
download | talos-op-linux-6d6df2e412297b8047c407b3abcd045a67c96744.tar.gz talos-op-linux-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')
-rw-r--r-- | drivers/xen/xenfs/xenbus.c | 18 |
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) |