summaryrefslogtreecommitdiffstats
path: root/drivers/xen/xenbus
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2016-08-15 09:02:38 -0600
committerDavid Vrabel <david.vrabel@citrix.com>2016-08-24 18:16:18 +0100
commit9a035a40f7f3f6708b79224b86c5777a3334f7ea (patch)
tree322b5db38f582da6dea4416adedba7bc7ba21644 /drivers/xen/xenbus
parentfa8410b355251fd30341662a40ac6b22d3e38468 (diff)
downloadlinux-stable-9a035a40f7f3f6708b79224b86c5777a3334f7ea.tar.gz
linux-stable-9a035a40f7f3f6708b79224b86c5777a3334f7ea.tar.bz2
linux-stable-9a035a40f7f3f6708b79224b86c5777a3334f7ea.zip
xenbus: don't look up transaction IDs for ordinary writes
This should really only be done for XS_TRANSACTION_END messages, or else at least some of the xenstore-* tools don't work anymore. Fixes: 0beef634b8 ("xenbus: don't BUG() on user mode induced condition") Reported-by: Richard Schütz <rschuetz@uni-koblenz.de> Cc: <stable@vger.kernel.org> Signed-off-by: Jan Beulich <jbeulich@suse.com> Tested-by: Richard Schütz <rschuetz@uni-koblenz.de> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Diffstat (limited to 'drivers/xen/xenbus')
-rw-r--r--drivers/xen/xenbus/xenbus_dev_frontend.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 7487971f9f78..c1010f018bd8 100644
--- a/drivers/xen/xenbus/xenbus_dev_frontend.c
+++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
@@ -316,7 +316,7 @@ static int xenbus_write_transaction(unsigned msg_type,
rc = -ENOMEM;
goto out;
}
- } else {
+ } else if (msg_type == XS_TRANSACTION_END) {
list_for_each_entry(trans, &u->transactions, list)
if (trans->handle.id == u->u.msg.tx_id)
break;