| commit 9a035a40f7f3f6708b79224b86c5777a3334f7ea |
| Author: Jan Beulich <JBeulich@suse.com> |
| Date: Mon Aug 15 09:02:38 2016 -0600 |
| |
| 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> |
| |
| diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c |
| index 7487971..c1010f01 100644 |
| |
| |
| @@ -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; |