version 4.4.28-11

pull/5/head v4.4.28-11
Marek Marczykowski-Górecki 8 years ago
parent ec697d5db0
commit dfa046e641
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

@ -1,98 +0,0 @@
From 7bfd448aed6e20757f94cc4ef74b3da763eb9c48 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
<marmarek@invisiblethingslab.com>
Date: Sat, 21 Feb 2015 02:43:29 +0100
Subject: [PATCH] Revert "xen/xenbus: Avoid synchronous wait on XenBus stalling
shutdown/restart."
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Organization: Invisible Things Lab
Cc: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This reverts commit 027bd7e89906a076225b23d1ca4b6702c84e72dc.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
drivers/xen/xenbus/xenbus_xs.c | 44 +++---------------------------------------
1 file changed, 3 insertions(+), 41 deletions(-)
diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index ba804f3..b6d5fff 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -50,7 +50,6 @@
#include <xen/xenbus.h>
#include <xen/xen.h>
#include "xenbus_comms.h"
-#include "xenbus_probe.h"
struct xs_stored_msg {
struct list_head list;
@@ -140,29 +139,6 @@ static int get_error(const char *errorstring)
return xsd_errors[i].errnum;
}
-static bool xenbus_ok(void)
-{
- switch (xen_store_domain_type) {
- case XS_LOCAL:
- switch (system_state) {
- case SYSTEM_POWER_OFF:
- case SYSTEM_RESTART:
- case SYSTEM_HALT:
- return false;
- default:
- break;
- }
- return true;
- case XS_PV:
- case XS_HVM:
- /* FIXME: Could check that the remote domain is alive,
- * but it is normally initial domain. */
- return true;
- default:
- break;
- }
- return false;
-}
static void *read_reply(enum xsd_sockmsg_type *type, unsigned int *len)
{
struct xs_stored_msg *msg;
@@ -172,20 +148,9 @@ static void *read_reply(enum xsd_sockmsg_type *type, unsigned int *len)
while (list_empty(&xs_state.reply_list)) {
spin_unlock(&xs_state.reply_lock);
- if (xenbus_ok())
- /* XXX FIXME: Avoid synchronous wait for response here. */
- wait_event_timeout(xs_state.reply_waitq,
- !list_empty(&xs_state.reply_list),
- msecs_to_jiffies(500));
- else {
- /*
- * If we are in the process of being shut-down there is
- * no point of trying to contact XenBus - it is either
- * killed (xenstored application) or the other domain
- * has been killed or is unreachable.
- */
- return ERR_PTR(-EIO);
- }
+ /* XXX FIXME: Avoid synchronous wait for response here. */
+ wait_event(xs_state.reply_waitq,
+ !list_empty(&xs_state.reply_list));
spin_lock(&xs_state.reply_lock);
}
@@ -250,9 +215,6 @@ void *xenbus_dev_request_and_reply(struct xsd_sockmsg *msg)
mutex_unlock(&xs_state.request_mutex);
- if (IS_ERR(ret))
- return ret;
-
if ((msg->type == XS_TRANSACTION_END) ||
((req_msg.type == XS_TRANSACTION_START) &&
(msg->type == XS_ERROR)))
--
1.8.3.1

@ -0,0 +1,40 @@
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
Organization: Invisible Things Lab
Cc: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
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>
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.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;
--
2.5.5

@ -1,15 +1,13 @@
patches.rpmify/makefile-after_link.patch
patches.xen/0001-Revert-xen-xenbus-Avoid-synchronous-wait-on-XenBus-s.patch
patches.xen/0001-xen-fix-deadlock-on-proc-xen-xenbus-access.patch
patches.xen/xen-netfront-detach-crash.patch
patches.xen/0001-mce-hide-EBUSY-initialization-error-on-Xen.patch
patches.xen/irq-bind-debug-log.patch
# Backports
patches.backports/0001-scsi-ignore-errors-from-scsi_dh_add_device.patch
patches.backports/0001-HID-core-prevent-out-of-bound-readings.patch
patches.backports/0001-HID-fix-out-of-bound-access-in-extract-and-implement.patch
patches.xen/0001-xenbus-don-t-look-up-transaction-IDs-for-ordinary-wr.patch
# Touchpad driver for Purism laptops
patches.backports/0001-Input-byd-add-BYD-PS-2-touchpad-driver.patch
patches.backports/0002-Input-byd-enable-absolute-mode.patch

@ -1 +1 @@
4.4.14
4.4.28

Loading…
Cancel
Save