summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2016-08-15 09:02:38 -0600
committerBen Hutchings <ben@decadent.org.uk>2016-11-20 01:01:44 +0000
commitb8b2dc10d09e5c087033481050efdb48d457c512 (patch)
tree438b98e46f68576a08f5adf65763c518f6eacf78
parente3ea2576a59f960617808253b6923538328a51a4 (diff)
xenbus: don't look up transaction IDs for ordinary writes
commit 9a035a40f7f3f6708b79224b86c5777a3334f7ea upstream. 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> 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> Cc: Ed Swierk <eswierk@skyportsystems.com> [bwh: Backported to 3.2: adjust filename] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--drivers/xen/xenfs/xenbus.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/xen/xenfs/xenbus.c b/drivers/xen/xenfs/xenbus.c
index e6a63eeadb07..98559b05aacd 100644
--- a/drivers/xen/xenfs/xenbus.c
+++ b/drivers/xen/xenfs/xenbus.c
@@ -310,7 +310,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;