diff mbox

[Xenial,SRU/Yakkety] : Regression warning about 4.4.17+18 / 4.6.7 / 4.7+ and Xen

Message ID 4516abac-e6cd-0a47-cf7a-3c9792722851@canonical.com
State New
Headers show

Commit Message

Stefan Bader Aug. 25, 2016, 8:23 a.m. UTC
On 22.08.2016 12:07, Stefan Bader wrote:
> There has been a recent (maybe not that recent, it was in 4.7) kernel regression
> for Xen which made its way back to several stable trees[1]:
> 
>   xenbus: don't BUG() on user mode induced condition
> 
> It appears there is a fix on patchworks[2] but as of today was not included, yet
> in upstream Linux.
> 
> For Yakkety the regression is part of the 4.6.0-11 unstable package. For Xenial
> it is part of the pending next SRU cycle (master-next). I did a quick test with
> the proposed patch on top of 4.6 in yakkety/master-next and it allowed me to
> starts VMs again. Not sure whether we want to pick that additional patch or back
> out the stable change introducing the problem. But either way the master-next
> branches of both Xenial and Yakkety will cause a Xen regression as they are now.
> 
> The effect is that tools like xenstore-ls or xenstore-write no longer work and
> it is no longer possible to start any VMs.

The commit went upstream as of today. The attached patch uses the tracking bug
of the commit that would introduce the regression (upstream stable update
4.4.18). Mind that for Yakkety 4.6 based kernels currently also have the
regression and would need this patch until everything moves to 4.8...

-Stefan

> 
> -Stefan
> 
> [1] https://lists.xenproject.org/archives/html/xen-devel/2016-08/msg02496.html
> [2] https://patchwork.kernel.org/patch/9281193/
>

Comments

Tim Gardner Aug. 25, 2016, 12:32 p.m. UTC | #1

Kamal Mostafa Aug. 25, 2016, 8:48 p.m. UTC | #2

diff mbox

Patch

From 9a035a40f7f3f6708b79224b86c5777a3334f7ea Mon Sep 17 00:00:00 2001
From: Jan Beulich <JBeulich@suse.com>
Date: Mon, 15 Aug 2016 09:02:38 -0600
Subject: [PATCH] xenbus: don't look up transaction IDs for ordinary writes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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>
---
 drivers/xen/xenbus/xenbus_dev_frontend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 7487971..c1010f01 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;
-- 
1.9.1