]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
xenbus: don't look up transaction IDs for ordinary writes
authorJan Beulich <JBeulich@suse.com>
Mon, 15 Aug 2016 15:02:38 +0000 (09:02 -0600)
committerTim Gardner <tim.gardner@canonical.com>
Mon, 29 Aug 2016 16:24:24 +0000 (10:24 -0600)
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>
BugLink: http://bugs.launchpad.net/bugs/1611833
(cherry-picked from commit 9a035a40f7f3f6708b79224b86c5777a3334f7ea upstream)
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
drivers/xen/xenbus/xenbus_dev_frontend.c

index 531e764749838afccd288a06c464a9db7e60423d..0e0eb10f82a028c737949a4041a944d9798bb6bf 100644 (file)
@@ -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;