kernel: Update to 4.11.3/4.9.30/4.4.70, remove 4.10.x

4.10.x has been EOLed. Remove it from the build and tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
Rolf Neugebauer 2017-05-30 12:09:26 +01:00
parent 6f26ad65cc
commit 8d0182e17c
76 changed files with 134 additions and 6610 deletions

View File

@ -63,10 +63,8 @@ endef
# Build Targets
# Debug targets only for latest stable and LTS stable
#
$(eval $(call kernel,4.11.2,4.11.x))
$(eval $(call kernel,4.11.2,4.11.x,_dbg))
$(eval $(call kernel,4.10.17,4.10.x))
$(eval $(call kernel,4.10.17,4.10.x,_dbg))
$(eval $(call kernel,4.9.29,4.9.x))
$(eval $(call kernel,4.9.29,4.9.x,_dbg))
$(eval $(call kernel,4.4.69,4.4.x))
$(eval $(call kernel,4.11.3,4.11.x))
$(eval $(call kernel,4.11.3,4.11.x,_dbg))
$(eval $(call kernel,4.9.30,4.9.x))
$(eval $(call kernel,4.9.30,4.9.x,_dbg))
$(eval $(call kernel,4.4.70,4.4.x))

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.11.2 Kernel Configuration
# Linux/x86 4.11.3 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.69 Kernel Configuration
# Linux/x86 4.4.70 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.9.29 Kernel Configuration
# Linux/x86 4.9.30 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y

View File

@ -1,492 +0,0 @@
From d9aa9429204658ccfc3563b99ea555207d3ce455 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sat, 28 Jan 2017 12:37:17 -0700
Subject: [PATCH 2/6] Drivers: hv: vmbus: Use all supported IC versions to
negotiate
Previously, we were assuming that each IC protocol version was tied to a
specific host version. For example, some Windows 10 preview hosts only
support v3 TimeSync even though driver assumes v4 is supported by all
Windows 10 hosts.
The guest will stop trying to negotiate even though older supported
versions may still be offered by the host.
Make IC version negotiation more robust by going through all versions
that are supported by the guest.
Fixes: 3da0401b4d0e ("Drivers: hv: utils: Fix the mapping between host
version and protocol to use")
Reported-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Signed-off-by: Alex Ng <alexng@messages.microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
(cherry picked from commit a1656454131880980bc3a5313c8bf66ef5990c91)
---
drivers/hv/channel_mgmt.c | 80 +++++++++++++++++++++++++++-------------
drivers/hv/hv_fcopy.c | 20 +++++++---
drivers/hv/hv_kvp.c | 41 +++++++++------------
drivers/hv/hv_snapshot.c | 18 +++++++--
drivers/hv/hv_util.c | 94 +++++++++++++++++++++++++----------------------
include/linux/hyperv.h | 7 ++--
6 files changed, 154 insertions(+), 106 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index a58cd102af1b..feca5d2e7b25 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -203,33 +203,34 @@ static u16 hv_get_dev_type(const struct vmbus_channel *channel)
* @buf: Raw buffer channel data
*
* @icmsghdrp is of type &struct icmsg_hdr.
- * @negop is of type &struct icmsg_negotiate.
* Set up and fill in default negotiate response message.
*
- * The fw_version specifies the framework version that
- * we can support and srv_version specifies the service
- * version we can support.
+ * The fw_version and fw_vercnt specifies the framework version that
+ * we can support.
+ *
+ * The srv_version and srv_vercnt specifies the service
+ * versions we can support.
+ *
+ * Versions are given in decreasing order.
+ *
+ * nego_fw_version and nego_srv_version store the selected protocol versions.
*
* Mainly used by Hyper-V drivers.
*/
bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
- struct icmsg_negotiate *negop, u8 *buf,
- int fw_version, int srv_version)
+ u8 *buf, const int *fw_version, int fw_vercnt,
+ const int *srv_version, int srv_vercnt,
+ int *nego_fw_version, int *nego_srv_version)
{
int icframe_major, icframe_minor;
int icmsg_major, icmsg_minor;
int fw_major, fw_minor;
int srv_major, srv_minor;
- int i;
+ int i, j;
bool found_match = false;
+ struct icmsg_negotiate *negop;
icmsghdrp->icmsgsize = 0x10;
- fw_major = (fw_version >> 16);
- fw_minor = (fw_version & 0xFFFF);
-
- srv_major = (srv_version >> 16);
- srv_minor = (srv_version & 0xFFFF);
-
negop = (struct icmsg_negotiate *)&buf[
sizeof(struct vmbuspipe_hdr) +
sizeof(struct icmsg_hdr)];
@@ -245,13 +246,22 @@ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
* support.
*/
- for (i = 0; i < negop->icframe_vercnt; i++) {
- if ((negop->icversion_data[i].major == fw_major) &&
- (negop->icversion_data[i].minor == fw_minor)) {
- icframe_major = negop->icversion_data[i].major;
- icframe_minor = negop->icversion_data[i].minor;
- found_match = true;
+ for (i = 0; i < fw_vercnt; i++) {
+ fw_major = (fw_version[i] >> 16);
+ fw_minor = (fw_version[i] & 0xFFFF);
+
+ for (j = 0; j < negop->icframe_vercnt; j++) {
+ if ((negop->icversion_data[j].major == fw_major) &&
+ (negop->icversion_data[j].minor == fw_minor)) {
+ icframe_major = negop->icversion_data[j].major;
+ icframe_minor = negop->icversion_data[j].minor;
+ found_match = true;
+ break;
+ }
}
+
+ if (found_match)
+ break;
}
if (!found_match)
@@ -259,14 +269,26 @@ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
found_match = false;
- for (i = negop->icframe_vercnt;
- (i < negop->icframe_vercnt + negop->icmsg_vercnt); i++) {
- if ((negop->icversion_data[i].major == srv_major) &&
- (negop->icversion_data[i].minor == srv_minor)) {
- icmsg_major = negop->icversion_data[i].major;
- icmsg_minor = negop->icversion_data[i].minor;
- found_match = true;
+ for (i = 0; i < srv_vercnt; i++) {
+ srv_major = (srv_version[i] >> 16);
+ srv_minor = (srv_version[i] & 0xFFFF);
+
+ for (j = negop->icframe_vercnt;
+ (j < negop->icframe_vercnt + negop->icmsg_vercnt);
+ j++) {
+
+ if ((negop->icversion_data[j].major == srv_major) &&
+ (negop->icversion_data[j].minor == srv_minor)) {
+
+ icmsg_major = negop->icversion_data[j].major;
+ icmsg_minor = negop->icversion_data[j].minor;
+ found_match = true;
+ break;
+ }
}
+
+ if (found_match)
+ break;
}
/*
@@ -283,6 +305,12 @@ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
negop->icmsg_vercnt = 1;
}
+ if (nego_fw_version)
+ *nego_fw_version = (icframe_major << 16) | icframe_minor;
+
+ if (nego_srv_version)
+ *nego_srv_version = (icmsg_major << 16) | icmsg_minor;
+
negop->icversion_data[0].major = icframe_major;
negop->icversion_data[0].minor = icframe_minor;
negop->icversion_data[1].major = icmsg_major;
diff --git a/drivers/hv/hv_fcopy.c b/drivers/hv/hv_fcopy.c
index e47d8c9db03a..0a315e6aa589 100644
--- a/drivers/hv/hv_fcopy.c
+++ b/drivers/hv/hv_fcopy.c
@@ -31,6 +31,16 @@
#define WIN8_SRV_MINOR 1
#define WIN8_SRV_VERSION (WIN8_SRV_MAJOR << 16 | WIN8_SRV_MINOR)
+#define FCOPY_VER_COUNT 1
+static const int fcopy_versions[] = {
+ WIN8_SRV_VERSION
+};
+
+#define FW_VER_COUNT 1
+static const int fw_versions[] = {
+ UTIL_FW_VERSION
+};
+
/*
* Global state maintained for transaction that is being processed.
* For a class of integration services, including the "file copy service",
@@ -228,8 +238,6 @@ void hv_fcopy_onchannelcallback(void *context)
u64 requestid;
struct hv_fcopy_hdr *fcopy_msg;
struct icmsg_hdr *icmsghdr;
- struct icmsg_negotiate *negop = NULL;
- int util_fw_version;
int fcopy_srv_version;
if (fcopy_transaction.state > HVUTIL_READY)
@@ -243,10 +251,10 @@ void hv_fcopy_onchannelcallback(void *context)
icmsghdr = (struct icmsg_hdr *)&recv_buffer[
sizeof(struct vmbuspipe_hdr)];
if (icmsghdr->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- util_fw_version = UTIL_FW_VERSION;
- fcopy_srv_version = WIN8_SRV_VERSION;
- vmbus_prep_negotiate_resp(icmsghdr, negop, recv_buffer,
- util_fw_version, fcopy_srv_version);
+ vmbus_prep_negotiate_resp(icmsghdr, recv_buffer,
+ fw_versions, FW_VER_COUNT,
+ fcopy_versions, FCOPY_VER_COUNT,
+ NULL, &fcopy_srv_version);
} else {
fcopy_msg = (struct hv_fcopy_hdr *)&recv_buffer[
sizeof(struct vmbuspipe_hdr) +
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index 3abfc5983c97..2cc670442f6c 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -46,6 +46,19 @@
#define WIN8_SRV_MINOR 0
#define WIN8_SRV_VERSION (WIN8_SRV_MAJOR << 16 | WIN8_SRV_MINOR)
+#define KVP_VER_COUNT 3
+static const int kvp_versions[] = {
+ WIN8_SRV_VERSION,
+ WIN7_SRV_VERSION,
+ WS2008_SRV_VERSION
+};
+
+#define FW_VER_COUNT 2
+static const int fw_versions[] = {
+ UTIL_FW_VERSION,
+ UTIL_WS2K8_FW_VERSION
+};
+
/*
* Global state maintained for transaction that is being processed. For a class
* of integration services, including the "KVP service", the specified protocol
@@ -610,8 +623,6 @@ void hv_kvp_onchannelcallback(void *context)
struct hv_kvp_msg *kvp_msg;
struct icmsg_hdr *icmsghdrp;
- struct icmsg_negotiate *negop = NULL;
- int util_fw_version;
int kvp_srv_version;
static enum {NEGO_NOT_STARTED,
NEGO_IN_PROGRESS,
@@ -640,28 +651,10 @@ void hv_kvp_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- /*
- * Based on the host, select appropriate
- * framework and service versions we will
- * negotiate.
- */
- switch (vmbus_proto_version) {
- case (VERSION_WS2008):
- util_fw_version = UTIL_WS2K8_FW_VERSION;
- kvp_srv_version = WS2008_SRV_VERSION;
- break;
- case (VERSION_WIN7):
- util_fw_version = UTIL_FW_VERSION;
- kvp_srv_version = WIN7_SRV_VERSION;
- break;
- default:
- util_fw_version = UTIL_FW_VERSION;
- kvp_srv_version = WIN8_SRV_VERSION;
- }
- vmbus_prep_negotiate_resp(icmsghdrp, negop,
- recv_buffer, util_fw_version,
- kvp_srv_version);
-
+ vmbus_prep_negotiate_resp(icmsghdrp,
+ recv_buffer, fw_versions, FW_VER_COUNT,
+ kvp_versions, KVP_VER_COUNT,
+ NULL, &kvp_srv_version);
} else {
kvp_msg = (struct hv_kvp_msg *)&recv_buffer[
sizeof(struct vmbuspipe_hdr) +
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
index 4e543dbb731a..d14f10b924a0 100644
--- a/drivers/hv/hv_snapshot.c
+++ b/drivers/hv/hv_snapshot.c
@@ -31,6 +31,16 @@
#define VSS_MINOR 0
#define VSS_VERSION (VSS_MAJOR << 16 | VSS_MINOR)
+#define VSS_VER_COUNT 1
+static const int vss_versions[] = {
+ VSS_VERSION
+};
+
+#define FW_VER_COUNT 1
+static const int fw_versions[] = {
+ UTIL_FW_VERSION
+};
+
/*
* Timeout values are based on expecations from host
*/
@@ -297,7 +307,6 @@ void hv_vss_onchannelcallback(void *context)
struct icmsg_hdr *icmsghdrp;
- struct icmsg_negotiate *negop = NULL;
if (vss_transaction.state > HVUTIL_READY)
return;
@@ -310,9 +319,10 @@ void hv_vss_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdrp, negop,
- recv_buffer, UTIL_FW_VERSION,
- VSS_VERSION);
+ vmbus_prep_negotiate_resp(icmsghdrp,
+ recv_buffer, fw_versions, FW_VER_COUNT,
+ vss_versions, VSS_VER_COUNT,
+ NULL, NULL);
} else {
vss_msg = (struct hv_vss_msg *)&recv_buffer[
sizeof(struct vmbuspipe_hdr) +
diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
index e7707747f56d..f3797c07be10 100644
--- a/drivers/hv/hv_util.c
+++ b/drivers/hv/hv_util.c
@@ -57,7 +57,31 @@
static int sd_srv_version;
static int ts_srv_version;
static int hb_srv_version;
-static int util_fw_version;
+
+#define SD_VER_COUNT 2
+static const int sd_versions[] = {
+ SD_VERSION,
+ SD_VERSION_1
+};
+
+#define TS_VER_COUNT 3
+static const int ts_versions[] = {
+ TS_VERSION,
+ TS_VERSION_3,
+ TS_VERSION_1
+};
+
+#define HB_VER_COUNT 2
+static const int hb_versions[] = {
+ HB_VERSION,
+ HB_VERSION_1
+};
+
+#define FW_VER_COUNT 2
+static const int fw_versions[] = {
+ UTIL_FW_VERSION,
+ UTIL_WS2K8_FW_VERSION
+};
static void shutdown_onchannelcallback(void *context);
static struct hv_util_service util_shutdown = {
@@ -118,7 +142,6 @@ static void shutdown_onchannelcallback(void *context)
struct shutdown_msg_data *shutdown_msg;
struct icmsg_hdr *icmsghdrp;
- struct icmsg_negotiate *negop = NULL;
vmbus_recvpacket(channel, shut_txf_buf,
PAGE_SIZE, &recvlen, &requestid);
@@ -128,9 +151,14 @@ static void shutdown_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdrp, negop,
- shut_txf_buf, util_fw_version,
- sd_srv_version);
+ if (vmbus_prep_negotiate_resp(icmsghdrp, shut_txf_buf,
+ fw_versions, FW_VER_COUNT,
+ sd_versions, SD_VER_COUNT,
+ NULL, &sd_srv_version)) {
+ pr_info("Shutdown IC version %d.%d\n",
+ sd_srv_version >> 16,
+ sd_srv_version & 0xFFFF);
+ }
} else {
shutdown_msg =
(struct shutdown_msg_data *)&shut_txf_buf[
@@ -253,7 +281,6 @@ static void timesync_onchannelcallback(void *context)
struct ictimesync_data *timedatap;
struct ictimesync_ref_data *refdata;
u8 *time_txf_buf = util_timesynch.recv_buffer;
- struct icmsg_negotiate *negop = NULL;
vmbus_recvpacket(channel, time_txf_buf,
PAGE_SIZE, &recvlen, &requestid);
@@ -263,12 +290,14 @@ static void timesync_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdrp, negop,
- time_txf_buf,
- util_fw_version,
- ts_srv_version);
- pr_info("Using TimeSync version %d.%d\n",
- ts_srv_version >> 16, ts_srv_version & 0xFFFF);
+ if (vmbus_prep_negotiate_resp(icmsghdrp, time_txf_buf,
+ fw_versions, FW_VER_COUNT,
+ ts_versions, TS_VER_COUNT,
+ NULL, &ts_srv_version)) {
+ pr_info("TimeSync version %d.%d\n",
+ ts_srv_version >> 16,
+ ts_srv_version & 0xFFFF);
+ }
} else {
if (ts_srv_version > TS_VERSION_3) {
refdata = (struct ictimesync_ref_data *)
@@ -312,7 +341,6 @@ static void heartbeat_onchannelcallback(void *context)
struct icmsg_hdr *icmsghdrp;
struct heartbeat_msg_data *heartbeat_msg;
u8 *hbeat_txf_buf = util_heartbeat.recv_buffer;
- struct icmsg_negotiate *negop = NULL;
while (1) {
@@ -326,9 +354,16 @@ static void heartbeat_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdrp, negop,
- hbeat_txf_buf, util_fw_version,
- hb_srv_version);
+ if (vmbus_prep_negotiate_resp(icmsghdrp,
+ hbeat_txf_buf,
+ fw_versions, FW_VER_COUNT,
+ hb_versions, HB_VER_COUNT,
+ NULL, &hb_srv_version)) {
+
+ pr_info("Heartbeat version %d.%d\n",
+ hb_srv_version >> 16,
+ hb_srv_version & 0xFFFF);
+ }
} else {
heartbeat_msg =
(struct heartbeat_msg_data *)&hbeat_txf_buf[
@@ -378,33 +413,6 @@ static int util_probe(struct hv_device *dev,
hv_set_drvdata(dev, srv);
- /*
- * Based on the host; initialize the framework and
- * service version numbers we will negotiate.
- */
- switch (vmbus_proto_version) {
- case (VERSION_WS2008):
- util_fw_version = UTIL_WS2K8_FW_VERSION;
- sd_srv_version = SD_VERSION_1;
- ts_srv_version = TS_VERSION_1;
- hb_srv_version = HB_VERSION_1;
- break;
- case VERSION_WIN7:
- case VERSION_WIN8:
- case VERSION_WIN8_1:
- util_fw_version = UTIL_FW_VERSION;
- sd_srv_version = SD_VERSION;
- ts_srv_version = TS_VERSION_3;
- hb_srv_version = HB_VERSION;
- break;
- case VERSION_WIN10:
- default:
- util_fw_version = UTIL_FW_VERSION;
- sd_srv_version = SD_VERSION;
- ts_srv_version = TS_VERSION;
- hb_srv_version = HB_VERSION;
- }
-
ret = vmbus_open(dev->channel, 4 * PAGE_SIZE, 4 * PAGE_SIZE, NULL, 0,
srv->util_cb, dev->channel);
if (ret)
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index ca26335de49a..41e5ed87f833 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1459,9 +1459,10 @@ struct hyperv_service_callback {
};
#define MAX_SRV_VER 0x7ffffff
-extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *,
- struct icmsg_negotiate *, u8 *, int,
- int);
+extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf,
+ const int *fw_version, int fw_vercnt,
+ const int *srv_version, int srv_vercnt,
+ int *nego_fw_version, int *nego_srv_version);
void hv_event_tasklet_disable(struct vmbus_channel *channel);
void hv_event_tasklet_enable(struct vmbus_channel *channel);
--
2.12.2

View File

@ -1,118 +0,0 @@
From 3ed1bbf668019a7fdc4ec8e2f398552db9bd6b7e Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sat, 28 Jan 2017 12:37:18 -0700
Subject: [PATCH 3/6] Drivers: hv: Log the negotiated IC versions.
Log the negotiated IC versions.
Signed-off-by: Alex Ng <alexng@messages.microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
(cherry picked from commit 1274a690f6b2bd2b37447c47e3062afa8aa43f93)
---
drivers/hv/hv_fcopy.c | 9 +++++++--
drivers/hv/hv_kvp.c | 8 ++++++--
drivers/hv/hv_snapshot.c | 11 ++++++++---
drivers/hv/hv_util.c | 4 ++--
4 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/drivers/hv/hv_fcopy.c b/drivers/hv/hv_fcopy.c
index 0a315e6aa589..9aee6014339d 100644
--- a/drivers/hv/hv_fcopy.c
+++ b/drivers/hv/hv_fcopy.c
@@ -251,10 +251,15 @@ void hv_fcopy_onchannelcallback(void *context)
icmsghdr = (struct icmsg_hdr *)&recv_buffer[
sizeof(struct vmbuspipe_hdr)];
if (icmsghdr->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdr, recv_buffer,
+ if (vmbus_prep_negotiate_resp(icmsghdr, recv_buffer,
fw_versions, FW_VER_COUNT,
fcopy_versions, FCOPY_VER_COUNT,
- NULL, &fcopy_srv_version);
+ NULL, &fcopy_srv_version)) {
+
+ pr_info("FCopy IC version %d.%d\n",
+ fcopy_srv_version >> 16,
+ fcopy_srv_version & 0xFFFF);
+ }
} else {
fcopy_msg = (struct hv_fcopy_hdr *)&recv_buffer[
sizeof(struct vmbuspipe_hdr) +
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index 2cc670442f6c..de263712e247 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -651,10 +651,14 @@ void hv_kvp_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdrp,
+ if (vmbus_prep_negotiate_resp(icmsghdrp,
recv_buffer, fw_versions, FW_VER_COUNT,
kvp_versions, KVP_VER_COUNT,
- NULL, &kvp_srv_version);
+ NULL, &kvp_srv_version)) {
+ pr_info("KVP IC version %d.%d\n",
+ kvp_srv_version >> 16,
+ kvp_srv_version & 0xFFFF);
+ }
} else {
kvp_msg = (struct hv_kvp_msg *)&recv_buffer[
sizeof(struct vmbuspipe_hdr) +
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
index d14f10b924a0..bcc03f0748d6 100644
--- a/drivers/hv/hv_snapshot.c
+++ b/drivers/hv/hv_snapshot.c
@@ -304,7 +304,7 @@ void hv_vss_onchannelcallback(void *context)
u32 recvlen;
u64 requestid;
struct hv_vss_msg *vss_msg;
-
+ int vss_srv_version;
struct icmsg_hdr *icmsghdrp;
@@ -319,10 +319,15 @@ void hv_vss_onchannelcallback(void *context)
sizeof(struct vmbuspipe_hdr)];
if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
- vmbus_prep_negotiate_resp(icmsghdrp,
+ if (vmbus_prep_negotiate_resp(icmsghdrp,
recv_buffer, fw_versions, FW_VER_COUNT,
vss_versions, VSS_VER_COUNT,
- NULL, NULL);
+ NULL, &vss_srv_version)) {
+
+ pr_info("VSS IC version %d.%d\n",
+ vss_srv_version >> 16,
+ vss_srv_version & 0xFFFF);
+ }
} else {
vss_msg = (struct hv_vss_msg *)&recv_buffer[
sizeof(struct vmbuspipe_hdr) +
diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
index f3797c07be10..89440c2eb346 100644
--- a/drivers/hv/hv_util.c
+++ b/drivers/hv/hv_util.c
@@ -294,7 +294,7 @@ static void timesync_onchannelcallback(void *context)
fw_versions, FW_VER_COUNT,
ts_versions, TS_VER_COUNT,
NULL, &ts_srv_version)) {
- pr_info("TimeSync version %d.%d\n",
+ pr_info("TimeSync IC version %d.%d\n",
ts_srv_version >> 16,
ts_srv_version & 0xFFFF);
}
@@ -360,7 +360,7 @@ static void heartbeat_onchannelcallback(void *context)
hb_versions, HB_VER_COUNT,
NULL, &hb_srv_version)) {
- pr_info("Heartbeat version %d.%d\n",
+ pr_info("Heartbeat IC version %d.%d\n",
hb_srv_version >> 16,
hb_srv_version & 0xFFFF);
}
--
2.12.2

View File

@ -1,56 +0,0 @@
From 6a0b3a8e2da9cb321723fbba5bb0c1783f99e985 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sun, 26 Mar 2017 16:42:20 +0800
Subject: [PATCH 4/6] vmbus: fix missed ring events on boot
During initialization, the channel initialization code schedules the
tasklet to scan the VMBUS receive event page (i.e. simulates an
interrupt). The problem was that it invokes the tasklet on a different
CPU from where it normally runs and therefore if an event is present,
it will clear the bit but not find the associated channel.
This can lead to missed events, typically stuck tasks, during bootup
when sub channels are being initialized. Typically seen as stuck
boot with 8 or more CPU's.
This patch is not necessary for upstream (4.11 and later) since
commit 631e63a9f346 ("vmbus: change to per channel tasklet").
This changed vmbus code to get rid of common tasklet which
caused the problem.
Cc: stable@vger.kernel.org
Fixes: 638fea33aee8 ("Drivers: hv: vmbus: fix the race when querying & updating the percpu list")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Origin: git@github.com:dcui/linux.git
(cherry picked from commit 5cf3a72a111cecc7da759542c56560ce509159d7)
---
drivers/hv/channel_mgmt.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index feca5d2e7b25..3fda63bf60ab 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -389,8 +389,17 @@ void hv_event_tasklet_enable(struct vmbus_channel *channel)
tasklet = hv_context.event_dpc[channel->target_cpu];
tasklet_enable(tasklet);
- /* In case there is any pending event */
- tasklet_schedule(tasklet);
+ /*
+ * In case there is any pending event schedule a rescan
+ * but must be on the correct CPU for the channel.
+ */
+ if (channel->target_cpu == get_cpu())
+ tasklet_schedule(tasklet);
+ else
+ smp_call_function_single(channel->target_cpu,
+ (smp_call_func_t)tasklet_schedule,
+ tasklet, false);
+ put_cpu();
}
void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
--
2.12.2

View File

@ -1,59 +0,0 @@
From ddfa35f8ed42cd04e98144489a08ab9e56106529 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 29 Mar 2017 18:37:10 +0800
Subject: [PATCH 5/6] vmbus: remove "goto error_clean_msglist" in vmbus_open()
This is just a cleanup patch to simplify the code a little.
No semantic change.
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Origin: git@github.com:dcui/linux.git
(cherry picked from commit 2c89f21cbdfd39299482cd6068094097a45f13b3)
---
drivers/hv/channel.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 1606e7f08f4b..1caed01954f6 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -184,17 +184,18 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
ret = vmbus_post_msg(open_msg,
sizeof(struct vmbus_channel_open_channel), true);
- if (ret != 0) {
- err = ret;
- goto error_clean_msglist;
- }
-
- wait_for_completion(&open_info->waitevent);
+ if (ret == 0)
+ wait_for_completion(&open_info->waitevent);
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
list_del(&open_info->msglistentry);
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
+ if (ret != 0) {
+ err = ret;
+ goto error_free_gpadl;
+ }
+
if (newchannel->rescind) {
err = -ENODEV;
goto error_free_gpadl;
@@ -209,11 +210,6 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
kfree(open_info);
return 0;
-error_clean_msglist:
- spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
- list_del(&open_info->msglistentry);
- spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
-
error_free_gpadl:
vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle);
kfree(open_info);
--
2.12.2

View File

@ -1,177 +0,0 @@
From 939735a0c5e6a26d202fff4a636dab6c0e4f0b5e Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 24 Mar 2017 20:53:18 +0800
Subject: [PATCH 6/6] vmbus: dynamically enqueue/dequeue the channel on
vmbus_open/close
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Origin: git@github.com:dcui/linux.git
(cherry picked from commit bee4910daa4aed57ce60d2e2350e3cc120c383ca)
---
drivers/hv/channel.c | 16 ++++++++++---
drivers/hv/channel_mgmt.c | 58 ++++++++++++++++++++---------------------------
include/linux/hyperv.h | 3 +++
3 files changed, 40 insertions(+), 37 deletions(-)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 1caed01954f6..5bbcc964dbf7 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -181,6 +181,10 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
&vmbus_connection.chn_msg_list);
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
+ hv_event_tasklet_disable(newchannel);
+ hv_percpu_channel_enq(newchannel);
+ hv_event_tasklet_enable(newchannel);
+
ret = vmbus_post_msg(open_msg,
sizeof(struct vmbus_channel_open_channel), true);
@@ -193,23 +197,27 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
if (ret != 0) {
err = ret;
- goto error_free_gpadl;
+ goto error_deq_channel;
}
if (newchannel->rescind) {
err = -ENODEV;
- goto error_free_gpadl;
+ goto error_deq_channel;
}
if (open_info->response.open_result.status) {
err = -EAGAIN;
- goto error_free_gpadl;
+ goto error_deq_channel;
}
newchannel->state = CHANNEL_OPENED_STATE;
kfree(open_info);
return 0;
+error_deq_channel:
+ hv_event_tasklet_disable(newchannel);
+ hv_percpu_channel_deq(newchannel);
+ hv_event_tasklet_enable(newchannel);
error_free_gpadl:
vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle);
kfree(open_info);
@@ -555,6 +563,8 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
goto out;
}
+ hv_percpu_channel_deq(channel);
+
channel->state = CHANNEL_OPEN_STATE;
channel->sc_creation_callback = NULL;
/* Stop callback and cancel the timer asap */
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 3fda63bf60ab..e2fbfa290f1c 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -376,6 +376,30 @@ static void vmbus_release_relid(u32 relid)
true);
}
+void hv_percpu_channel_enq(struct vmbus_channel *channel)
+{
+ if (channel->target_cpu != get_cpu())
+ smp_call_function_single(channel->target_cpu,
+ percpu_channel_enq,
+ channel, true);
+ else
+ percpu_channel_enq(channel);
+ put_cpu();
+
+}
+
+void hv_percpu_channel_deq(struct vmbus_channel *channel)
+{
+ if (channel->target_cpu != get_cpu())
+ smp_call_function_single(channel->target_cpu,
+ percpu_channel_deq,
+ channel, true);
+ else
+ percpu_channel_deq(channel);
+ put_cpu();
+
+}
+
void hv_event_tasklet_disable(struct vmbus_channel *channel)
{
struct tasklet_struct *tasklet;
@@ -410,17 +434,6 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
BUG_ON(!channel->rescind);
BUG_ON(!mutex_is_locked(&vmbus_connection.channel_mutex));
- hv_event_tasklet_disable(channel);
- if (channel->target_cpu != get_cpu()) {
- put_cpu();
- smp_call_function_single(channel->target_cpu,
- percpu_channel_deq, channel, true);
- } else {
- percpu_channel_deq(channel);
- put_cpu();
- }
- hv_event_tasklet_enable(channel);
-
if (channel->primary_channel == NULL) {
list_del(&channel->listentry);
@@ -513,18 +526,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
init_vp_index(newchannel, dev_type);
- hv_event_tasklet_disable(newchannel);
- if (newchannel->target_cpu != get_cpu()) {
- put_cpu();
- smp_call_function_single(newchannel->target_cpu,
- percpu_channel_enq,
- newchannel, true);
- } else {
- percpu_channel_enq(newchannel);
- put_cpu();
- }
- hv_event_tasklet_enable(newchannel);
-
/*
* This state is used to indicate a successful open
* so that when we do close the channel normally, we
@@ -573,17 +574,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
list_del(&newchannel->listentry);
mutex_unlock(&vmbus_connection.channel_mutex);
- hv_event_tasklet_disable(newchannel);
- if (newchannel->target_cpu != get_cpu()) {
- put_cpu();
- smp_call_function_single(newchannel->target_cpu,
- percpu_channel_deq, newchannel, true);
- } else {
- percpu_channel_deq(newchannel);
- put_cpu();
- }
- hv_event_tasklet_enable(newchannel);
-
vmbus_release_relid(newchannel->offermsg.child_relid);
err_free_chan:
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 41e5ed87f833..0792d16f4b3e 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1467,6 +1467,9 @@ extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf,
void hv_event_tasklet_disable(struct vmbus_channel *channel);
void hv_event_tasklet_enable(struct vmbus_channel *channel);
+void hv_percpu_channel_enq(struct vmbus_channel *channel);
+void hv_percpu_channel_deq(struct vmbus_channel *channel);
+
void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid);
void vmbus_setevent(struct vmbus_channel *channel);
--
2.12.2

View File

@ -1,4 +1,4 @@
From 9dff166a5d0a91e8b22f41a8311ebdd946acde82 Mon Sep 17 00:00:00 2001
From 1c9660f96d1e38a84d1c6565a219e432e95c8409 Mon Sep 17 00:00:00 2001
From: stephen hemminger <stephen@networkplumber.org>
Date: Mon, 27 Feb 2017 10:26:48 -0800
Subject: [PATCH 1/9] vmbus: introduce in-place packet iterator
@ -365,5 +365,5 @@ index 970771a5f739..0c170a3f0d8b 100644
#endif /* _HYPERV_H */
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 3d8cba16cff3067b994bc9d6c42e079319c60849 Mon Sep 17 00:00:00 2001
From f44189e9829c4860e89b10eb606b3d4a39eb8402 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:12 -0600
Subject: [PATCH 2/9] vmbus: vmbus_open(): reset onchannel_callback on error
@ -30,5 +30,5 @@ index 321b8833fa6f..628d6fde1887 100644
}
EXPORT_SYMBOL_GPL(vmbus_open);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 030c01786b4a2f4455620992b9525bcb106e3f03 Mon Sep 17 00:00:00 2001
From 1977d532c0b46677849f3923e95abbe27739fae4 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:15 -0600
Subject: [PATCH 3/9] vmbus: add the matching tasklet_enable() in
@ -38,5 +38,5 @@ index 628d6fde1887..7cd2bd9fd1f1 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 09e4c1df88f94b970cfaf9085a2b14740a24b3c4 Mon Sep 17 00:00:00 2001
From 2859826def85dd0df51267edd490e8666fc41757 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:20 -0600
Subject: [PATCH 4/9] vmbus: remove "goto error_clean_msglist" in vmbus_open()
@ -58,5 +58,5 @@ index 7cd2bd9fd1f1..db5e6f8730d2 100644
vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle);
kfree(open_info);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 1534bb3fb7b4875dac2e95e4be15b86a824a8ef3 Mon Sep 17 00:00:00 2001
From a87b64ea2e6e317e188d2ee8a837dfc8c66191c0 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:23 -0600
Subject: [PATCH 5/9] vmbus: dynamically enqueue/dequeue a channel on
@ -185,5 +185,5 @@ index 0c170a3f0d8b..ba93b7e4a972 100644
void vmbus_setevent(struct vmbus_channel *channel);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From b68928a9eda59cd97dec9c325cbced771f069deb Mon Sep 17 00:00:00 2001
From 13cf8a976680bc8072b405db1b226834e48dd7fd Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:26 -0600
Subject: [PATCH 6/9] hv_sock: implements Hyper-V transport for Virtual Sockets
@ -930,5 +930,5 @@ index 000000000000..fd89bf357617
+MODULE_VERSION("1.0.0");
+MODULE_LICENSE("GPL");
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 8fe167786e3dd5013877a9fed27f889bcf3037f6 Mon Sep 17 00:00:00 2001
From 45af324d45d69e8e1a0c07d17b135492f0dd5607 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:29 -0600
Subject: [PATCH 7/9] VMCI: only try to load on VMware hypervisor
@ -60,5 +60,5 @@ index d7eaf1eb11e7..1789ea71ff5d 100644
if (vmci_err < VMCI_SUCCESS) {
pr_err("Failed to initialize VMCIEvent (result=%d)\n",
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 611b0f2e0fb3498bc2cd11804209a649cdd26616 Mon Sep 17 00:00:00 2001
From 78d698a1ccd72dd5b31fc12dee3360fe69fcd2cd Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 5 May 2017 16:57:35 -0600
Subject: [PATCH 8/9] hv_sock: add the support of auto-loading
@ -26,5 +26,5 @@ index fd89bf357617..f465b0b662df 100644
MODULE_LICENSE("GPL");
+MODULE_ALIAS_NETPROTO(PF_VSOCK);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 34b92f692e187b2fdf95e36d345a0237d8becdd2 Mon Sep 17 00:00:00 2001
From 4874624430e76f792a4aeff1734043eeb057acc9 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Tue, 16 May 2017 22:14:03 +0800
Subject: [PATCH 9/9] hvsock: fix a race in hvs_stream_dequeue()
@ -109,5 +109,5 @@ index f465b0b662df..30154836acd0 100644
case 1:
ret = 1;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 8ea775feead65de876c983b3d81d33dc5689eea2 Mon Sep 17 00:00:00 2001
From ecaa3a04abbaf6f3df484cd3902961baf2595302 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Thu, 17 Dec 2015 16:53:43 +0800
Subject: [PATCH 01/44] virtio: make find_vqs() checkpatch.pl-friendly
@ -215,5 +215,5 @@ index e5ce8ab0b8b0..6e6cb0c9d7cb 100644
u64 (*get_features)(struct virtio_device *vdev);
int (*finalize_features)(struct virtio_device *vdev);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 4debff1c266c30a03f7408de803e22516de3b665 Mon Sep 17 00:00:00 2001
From 44a5e8ecf304e79237e5020749be5dcd0e47af83 Mon Sep 17 00:00:00 2001
From: Julia Lawall <julia.lawall@lip6.fr>
Date: Sat, 21 Nov 2015 18:39:17 +0100
Subject: [PATCH 02/44] VSOCK: constify vmci_transport_notify_ops structures
@ -73,5 +73,5 @@ index dc9c7929a2f9..21e591dafb03 100644
vmci_transport_notify_pkt_socket_destruct,
vmci_transport_notify_pkt_poll_in,
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 09edc76615c9564bb4c5616316245bf686410dbf Mon Sep 17 00:00:00 2001
From 01532aa29b7cb519d91f392e437516ed8bb3dbf1 Mon Sep 17 00:00:00 2001
From: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Date: Tue, 22 Mar 2016 17:05:52 +0100
Subject: [PATCH 03/44] AF_VSOCK: Shrink the area influenced by prepare_to_wait
@ -332,5 +332,5 @@ index 9b5bd6d142dc..b5f1221f48d4 100644
release_sock(sk);
return err;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From eca2de769f7061b37dc7663b9ef6819d6f7d9060 Mon Sep 17 00:00:00 2001
From 125f61c643611e08e15706736c81213d7e038dc7 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Thu, 23 Jun 2016 16:28:58 +0100
Subject: [PATCH 04/44] vsock: make listener child lock ordering explicit
@ -59,5 +59,5 @@ index b5f1221f48d4..b96ac918e0ba 100644
/* If the listener socket has received an error, then we should
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 826a8b18cbdb1e6ef4aba5e2a763fe125bcce3e2 Mon Sep 17 00:00:00 2001
From 3c55e46ddea93d851d77467ff45221207697be03 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Thu, 28 Jul 2016 15:36:30 +0100
Subject: [PATCH 05/44] VSOCK: transport-specific vsock_transport functions
@ -55,5 +55,5 @@ index b96ac918e0ba..e34d96f8bde2 100644
MODULE_DESCRIPTION("VMware Virtual Socket Family");
MODULE_VERSION("1.0.1.0-k");
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 02b6902465a0c0afd6e5ff24652597b51a998dc0 Mon Sep 17 00:00:00 2001
From f265e5b6af087df03ee8bc4bffc9c57f54c44c73 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Thu, 28 Jul 2016 15:36:31 +0100
Subject: [PATCH 06/44] VSOCK: defer sock removal to transports
@ -79,5 +79,5 @@ index 662bdd20a748..5f8c99eb104c 100644
vmci_datagram_destroy_handle(vmci_trans(vsk)->dg_handle);
vmci_trans(vsk)->dg_handle = VMCI_INVALID_HANDLE;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From a86d2e04fa71e0312e56ec1af09351ca8a710be7 Mon Sep 17 00:00:00 2001
From e0309f4258b1534a9316cb56455efa484f058e4b Mon Sep 17 00:00:00 2001
From: Asias He <asias@redhat.com>
Date: Thu, 28 Jul 2016 15:36:32 +0100
Subject: [PATCH 07/44] VSOCK: Introduce virtio_vsock_common.ko
@ -1492,5 +1492,5 @@ index 000000000000..a53b3a16b4f1
+MODULE_AUTHOR("Asias He");
+MODULE_DESCRIPTION("common code for virtio vsock");
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From fc02e1d7311f0a584686aefef01a4ca16633733b Mon Sep 17 00:00:00 2001
From d5739c0c9691bebee21bfc79354cc65693a3a43b Mon Sep 17 00:00:00 2001
From: Asias He <asias@redhat.com>
Date: Thu, 28 Jul 2016 15:36:33 +0100
Subject: [PATCH 08/44] VSOCK: Introduce virtio_transport.ko
@ -659,5 +659,5 @@ index 000000000000..699dfabdbccd
+MODULE_DESCRIPTION("virtio transport for vsock");
+MODULE_DEVICE_TABLE(virtio, id_table);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 4548af98cb058ff5a2ee9072dd15256a36bdf599 Mon Sep 17 00:00:00 2001
From 85883035089739c407fa926cc86b66e8423c8e0a Mon Sep 17 00:00:00 2001
From: Asias He <asias@redhat.com>
Date: Thu, 28 Jul 2016 15:36:34 +0100
Subject: [PATCH 09/44] VSOCK: Introduce vhost_vsock.ko
@ -773,5 +773,5 @@ index ab3731917bac..b30647697774 100644
+
#endif
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From b564caded18355493b8b52850cd85d548c19a0ba Mon Sep 17 00:00:00 2001
From be91392600c9ac934ad99db63131b735edc844bb Mon Sep 17 00:00:00 2001
From: Asias He <asias@redhat.com>
Date: Thu, 28 Jul 2016 15:36:35 +0100
Subject: [PATCH 10/44] VSOCK: Add Makefile and Kconfig
@ -102,5 +102,5 @@ index 2ce52d70f224..bc27c70e0e59 100644
+
+vmw_vsock_virtio_transport_common-y += virtio_transport_common.o
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From b518a431852d35eb354eac3e48de59074b42efda Mon Sep 17 00:00:00 2001
From 56b0d53d67f9141c5667cfaef2c585ea67fb7473 Mon Sep 17 00:00:00 2001
From: Wei Yongjun <weiyj.lk@gmail.com>
Date: Tue, 2 Aug 2016 13:50:42 +0000
Subject: [PATCH 11/44] VSOCK: Use kvfree()
@ -29,5 +29,5 @@ index 028ca16c2d36..0ddf3a2dbfc4 100644
static int vhost_vsock_dev_open(struct inode *inode, struct file *file)
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 461108e6d824dff78e7df62f504ef0d4022a8c92 Mon Sep 17 00:00:00 2001
From 6b4cc4f509ec28454cc8dd27e1396323444d5737 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Thu, 4 Aug 2016 14:52:53 +0100
Subject: [PATCH 12/44] vhost/vsock: fix vhost virtio_vsock_pkt use-after-free
@ -49,5 +49,5 @@ index 0ddf3a2dbfc4..e3b30ea9ece5 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 92ed216a35e1207802c2b4f15358081dc518a182 Mon Sep 17 00:00:00 2001
From 17dc62ffa7e4e318b9c056cd09e65cde38872bd3 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Fri, 5 Aug 2016 13:52:09 +0100
Subject: [PATCH 13/44] virtio-vsock: fix include guard typo
@ -24,5 +24,5 @@ index 6b011c19b50f..1d57ed3d84d2 100644
#include <linux/types.h>
#include <linux/virtio_ids.h>
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 022ec70b5d3de92275934fc53de3a5bea190c5a2 Mon Sep 17 00:00:00 2001
From 7234164ce90682cda23325654810dbd1ce61b34c Mon Sep 17 00:00:00 2001
From: Gerard Garcia <ggarcia@deic.uab.cat>
Date: Wed, 10 Aug 2016 17:24:34 +0200
Subject: [PATCH 14/44] vhost/vsock: drop space available check for TX vq
@ -57,5 +57,5 @@ index 699dfabdbccd..936d7eee62d0 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 2286eab041019ec9465314884263a1b361179e00 Mon Sep 17 00:00:00 2001
From f289f5cc8439638a7e66d4c15db3f751d790a08a Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@docker.com>
Date: Mon, 4 Apr 2016 14:50:10 +0100
Subject: [PATCH 15/44] VSOCK: Only allow host network namespace to use
@ -27,5 +27,5 @@ index 17dbbe64cd73..1bb1b016e945 100644
return -EINVAL;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 378f5e112a2d7bb45fa8d18ba3a575a8a492435d Mon Sep 17 00:00:00 2001
From ae22623c5d38926e61e0f9dce20deb31e4ffe523 Mon Sep 17 00:00:00 2001
From: Jake Oshins <jakeo@microsoft.com>
Date: Mon, 14 Dec 2015 16:01:41 -0800
Subject: [PATCH 16/44] drivers:hv: Define the channel type for Hyper-V PCI
@ -59,5 +59,5 @@ index ae6a711dcd1d..10dda1e3b560 100644
*/
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 9a5220af3230d5c8e3f9ca5f5776a413e6a2ad50 Mon Sep 17 00:00:00 2001
From 08db278ad266373c634a4e8746a451f16cfb72dc Mon Sep 17 00:00:00 2001
From: "K. Y. Srinivasan" <kys@microsoft.com>
Date: Mon, 14 Dec 2015 16:01:43 -0800
Subject: [PATCH 17/44] Drivers: hv: vmbus: Use uuid_le type consistently
@ -293,5 +293,5 @@ index 9f5cdd49ff0b..8e8c69bee78f 100644
strcpy(alias, "vmbus:");
strcat(alias, guid_name);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From e70efa3edded5a3a8def4ee748add0afd3fc6c08 Mon Sep 17 00:00:00 2001
From e2f7f5eefd77ea61a765850959b46e84d30140e1 Mon Sep 17 00:00:00 2001
From: "K. Y. Srinivasan" <kys@microsoft.com>
Date: Mon, 14 Dec 2015 16:01:44 -0800
Subject: [PATCH 18/44] Drivers: hv: vmbus: Use uuid_le_cmp() for comparing
@ -51,5 +51,5 @@ index f1fbb6b98f5c..e71f3561dbab 100644
return NULL;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 8546d6d24663e500239a3aadcac2b130cf97fcd1 Mon Sep 17 00:00:00 2001
From 679e54bcf920baf6bc1712786b1ced644ce3b5b7 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Mon, 14 Dec 2015 16:01:48 -0800
Subject: [PATCH 19/44] Drivers: hv: vmbus: do sanity check of channel state in
@ -38,5 +38,5 @@ index d037454fe7b8..b00cdfb725de 100644
channel->sc_creation_callback = NULL;
/* Stop callback and cancel the timer asap */
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From e5c3c1e844cb2eb752d1d91a4ba8c59138709e8f Mon Sep 17 00:00:00 2001
From 550f3683886e86de134e9ca16c1c4f5c20dcf0eb Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Mon, 14 Dec 2015 16:01:50 -0800
Subject: [PATCH 20/44] Drivers: hv: vmbus: release relid on error in
@ -70,5 +70,5 @@ index 9b4525c56376..8529dd2ebc3d 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 6c8a14417d8558aa57eeed665f9b02f95055ac35 Mon Sep 17 00:00:00 2001
From fd52d49e9c19b3a7607dc42019b1d127a1cd2791 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Mon, 14 Dec 2015 16:01:51 -0800
Subject: [PATCH 21/44] Drivers: hv: vmbus: channge
@ -112,5 +112,5 @@ index 75e383e6d03d..9a95beb87015 100644
struct workqueue_struct *work_queue;
};
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 900d8ce5f3e4632e4e1a5313d64b1b601a9bc6f2 Mon Sep 17 00:00:00 2001
From 5c0c41445ec7103bd85bcd10087ff1c7521ce660 Mon Sep 17 00:00:00 2001
From: Vitaly Kuznetsov <vkuznets@redhat.com>
Date: Mon, 14 Dec 2015 19:02:00 -0800
Subject: [PATCH 22/44] Drivers: hv: remove code duplication between
@ -122,5 +122,5 @@ index b00cdfb725de..def21d34f3ea 100644
}
EXPORT_SYMBOL_GPL(vmbus_recvpacket_raw);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From c8d85df77d3150d8027d6c110e2338ef26b29599 Mon Sep 17 00:00:00 2001
From 469b3657f57de1f6a7c9682d42fb778b8e0b5cb0 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Mon, 21 Dec 2015 12:21:22 -0800
Subject: [PATCH 23/44] Drivers: hv: vmbus: fix the building warning with
@ -68,5 +68,5 @@ index 4712d7d07b8c..9e2de6a7cc96 100644
*/
#define HV_VSS_GUID \
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From afd40558672aafa1446a07fe833cacf79ca648a0 Mon Sep 17 00:00:00 2001
From e47fc70d686702802cc4c5bb4d0c393dceff750c Mon Sep 17 00:00:00 2001
From: "K. Y. Srinivasan" <kys@microsoft.com>
Date: Tue, 15 Dec 2015 16:27:27 -0800
Subject: [PATCH 24/44] Drivers: hv: vmbus: Treat Fibre Channel devices as
@ -38,5 +38,5 @@ index 306c7dff6c77..763d0c19c16f 100644
{ HV_NIC_GUID, },
/* NetworkDirect Guest RDMA */
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 8db676e90043e2cfee637e88263599374ff5eae3 Mon Sep 17 00:00:00 2001
From e1b342bfdbb759477c66c3fd9e7676189e7c7726 Mon Sep 17 00:00:00 2001
From: "K. Y. Srinivasan" <kys@microsoft.com>
Date: Fri, 25 Dec 2015 20:00:30 -0800
Subject: [PATCH 25/44] Drivers: hv: vmbus: Add vendor and device atttributes
@ -351,5 +351,5 @@ index 9e2de6a7cc96..51c98fd6044d 100644
struct device device;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 6b55081496d336466fee8b3ff3834511dd805579 Mon Sep 17 00:00:00 2001
From 69262240828752bbfb8a0b4d8db59496ddd41543 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:37 -0800
Subject: [PATCH 26/44] Drivers: hv: vmbus: add a helper function to set a
@ -32,5 +32,5 @@ index 51c98fd6044d..934542ac1394 100644
int vmbus_request_offers(void);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From f60bd71e57c997c1ef8a069685b7eb1215f389f7 Mon Sep 17 00:00:00 2001
From ec606375c621e6d25ba4fb76b6ba3e2f6224b47c Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:38 -0800
Subject: [PATCH 27/44] Drivers: hv: vmbus: define the new offer type for
@ -40,5 +40,5 @@ index 934542ac1394..a4f105d55881 100644
enum hv_signal_policy policy)
{
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From f277f093a9fdd03a85515de61b51469a643e46b3 Mon Sep 17 00:00:00 2001
From 6dbcee088812510e09bb42a515e5a0f200ab1997 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:39 -0800
Subject: [PATCH 28/44] Drivers: hv: vmbus: vmbus_sendpacket_ctl: hvsock: avoid
@ -41,5 +41,5 @@ index def21d34f3ea..a42104ed0b59 100644
return ret;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 1c0737a662bbe3fa5b3960ae7bc7015a33d1654e Mon Sep 17 00:00:00 2001
From c7e4a3522798797a1c4f32bb7bbec353290781b4 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:40 -0800
Subject: [PATCH 29/44] Drivers: hv: vmbus: define a new VMBus message type for
@ -97,5 +97,5 @@ index a4f105d55881..191bc5d0ffbf 100644
+ const uuid_le *shv_host_servie_id);
#endif /* _HYPERV_H */
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 910a2c8ae5497ee416ead2e1b97926283c81d552 Mon Sep 17 00:00:00 2001
From 0167b112388eae402b38624305b7fbe9973e2356 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:41 -0800
Subject: [PATCH 30/44] Drivers: hv: vmbus: add a hvsock flag in struct
@ -60,5 +60,5 @@ index 191bc5d0ffbf..05966e279ec8 100644
uuid_le dev_type;
const struct hv_vmbus_device_id *id_table;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 19836bd5b39fcba7e82cc4b1dddf4839c27e4fcb Mon Sep 17 00:00:00 2001
From e49fd871c5248dc4d38a5c826b36cf09e3477e24 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:42 -0800
Subject: [PATCH 31/44] Drivers: hv: vmbus: add a per-channel rescind callback
@ -68,5 +68,5 @@ index 05966e279ec8..ad04017ba06f 100644
* Retrieve the (sub) channel on which to send an outgoing request.
* When a primary channel has multiple sub-channels, we choose a
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 6712e637a32441f678518c91c57ab07ab8f2f5c7 Mon Sep 17 00:00:00 2001
From 89e373a1628d336364b1ec3442cb9746efad3da2 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:43 -0800
Subject: [PATCH 32/44] Drivers: hv: vmbus: add an API
@ -149,5 +149,5 @@ index ad04017ba06f..993318a6d147 100644
resource_size_t min, resource_size_t max,
resource_size_t size, resource_size_t align,
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 6147b4721f393f134381f700783cd1518fa518c9 Mon Sep 17 00:00:00 2001
From 6bc3afd04e5c107a16a511d810890fc7627aa3bd Mon Sep 17 00:00:00 2001
From: "K. Y. Srinivasan" <kys@microsoft.com>
Date: Wed, 27 Jan 2016 22:29:45 -0800
Subject: [PATCH 33/44] Drivers: hv: vmbus: Give control over how the ring
@ -204,5 +204,5 @@ index 993318a6d147..6c9695ef757e 100644
{
return !!(c->offermsg.offer.chn_flags &
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 203d8203fb1c023e95a88ae381512b69335da1c3 Mon Sep 17 00:00:00 2001
From b2eefd89d5cdef68e263c2f09b69a78051da74c8 Mon Sep 17 00:00:00 2001
From: Vitaly Kuznetsov <vkuznets@redhat.com>
Date: Fri, 26 Feb 2016 15:13:16 -0800
Subject: [PATCH 34/44] Drivers: hv: vmbus: avoid wait_for_completion() on
@ -96,5 +96,5 @@ index a220efc297c4..d9801855ad4e 100644
* In crash handler we can't schedule synic cleanup for all CPUs,
* doing the cleanup for current CPU only. This should be sufficient
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 8d5c25b35c78aeca9ad0987ce9bb82a55c78a211 Mon Sep 17 00:00:00 2001
From f31c2ac0ac1f5c98ade52484fd55849a55b4ae01 Mon Sep 17 00:00:00 2001
From: Vitaly Kuznetsov <vkuznets@redhat.com>
Date: Fri, 26 Feb 2016 15:13:18 -0800
Subject: [PATCH 35/44] Drivers: hv: vmbus: avoid unneeded compiler
@ -35,5 +35,5 @@ index f70e35278b94..c892db5df665 100644
continue;
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 9cbb2612c617f9b52c4abe663d13ba9ad9883471 Mon Sep 17 00:00:00 2001
From 3374875345189a841861ec5ebd2f0f1d266d7c76 Mon Sep 17 00:00:00 2001
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 7 Mar 2016 14:11:06 -0800
Subject: [PATCH 36/44] kcm: Kernel Connection Multiplexor module
@ -2308,5 +2308,5 @@ index 000000000000..649d246c6799
+MODULE_LICENSE("GPL");
+MODULE_ALIAS_NETPROTO(PF_KCM);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From dc75e76d31a09836722cf4d84133c03a9702c0f3 Mon Sep 17 00:00:00 2001
From cdc5866f35fb100307ff35dce8e9b03c186c066e Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Mon, 21 Mar 2016 02:51:09 -0700
Subject: [PATCH 37/44] net: add the AF_KCM entries to family name tables
@ -48,5 +48,5 @@ index 9c708a5fb751..36afa5d4598b 100644
/*
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From d7437a8ff8bac21698817cb83ea12f7edec223b9 Mon Sep 17 00:00:00 2001
From 382a37eff07d666a7f9af1fc9794c103ac6fac24 Mon Sep 17 00:00:00 2001
From: Courtney Cavin <courtney.cavin@sonymobile.com>
Date: Wed, 27 Apr 2016 12:13:03 -0700
Subject: [PATCH 38/44] net: Add Qualcomm IPC router
@ -1303,5 +1303,5 @@ index 000000000000..84ebce73aa23
+MODULE_DESCRIPTION("Qualcomm IPC-Router SMD interface driver");
+MODULE_LICENSE("GPL v2");
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From c6f60f4e564594ca1b075ca61dc11ab7c328c065 Mon Sep 17 00:00:00 2001
From 548ab5497f78e8a7c1fb2b7755a150cc738eb70b Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sun, 15 May 2016 09:53:11 -0700
Subject: [PATCH 39/44] hv_sock: introduce Hyper-V Sockets
@ -1801,5 +1801,5 @@ index 000000000000..b91bd608bf39
+MODULE_DESCRIPTION("Hyper-V Sockets");
+MODULE_LICENSE("Dual BSD/GPL");
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From cce43f7eee4da74c2b8acd41c98f1be98d6c6654 Mon Sep 17 00:00:00 2001
From d07f21bfe5751ce5bb1a62c81c8635cb933323db Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Mon, 21 Mar 2016 02:53:08 -0700
Subject: [PATCH 40/44] net: add the AF_HYPERV entries to family name tables
@ -45,5 +45,5 @@ index 36afa5d4598b..5077059e352b 100644
/*
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 3da1fa2cbe8cf858d9ed2c7cc91087c658ad9129 Mon Sep 17 00:00:00 2001
From 593980b03120dc41ff52b8c623ce53473981f261 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sat, 21 May 2016 16:55:50 +0800
Subject: [PATCH 41/44] Drivers: hv: vmbus: fix the race when querying &
@ -129,5 +129,5 @@ index c892db5df665..0a543170eba0 100644
err_free_chan:
free_channel(newchannel);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 79f687ff2de4273fcb619d97ded093fd872ab0d4 Mon Sep 17 00:00:00 2001
From 9d4d3a5b46fa07b0b12c25af1fb82f7fcfae0070 Mon Sep 17 00:00:00 2001
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
Date: Mon, 23 May 2016 18:55:45 +0100
Subject: [PATCH 42/44] vmbus: Don't spam the logs with unknown GUIDs
@ -26,5 +26,5 @@ index 0a543170eba0..120ee22c945e 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From f25da962628fd5e2d11fdd73165d55671b699472 Mon Sep 17 00:00:00 2001
From e34ed428e1638f84b0f439702d4ec4ff4296f5b6 Mon Sep 17 00:00:00 2001
From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: Wed, 17 Feb 2016 16:49:38 -0800
Subject: [PATCH 43/44] fs: add filp_clone_open API
@ -60,5 +60,5 @@ index 157b9940dd73..9d993f928ea0 100644
{
struct open_flags op;
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 0896ad7873f0f5759f36a87fcf2452a4c177e05c Mon Sep 17 00:00:00 2001
From 554243a9923dc427a768a0f59a1d7431d65dbb01 Mon Sep 17 00:00:00 2001
From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: Wed, 17 Feb 2016 16:51:16 -0800
Subject: [PATCH 44/44] binfmt_misc: add persistent opened binary handler for
@ -128,5 +128,5 @@ index 78f005f37847..4beb3d9e0001 100644
return count;
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From ff78da4733842deae316fc45a475bddee46cd109 Mon Sep 17 00:00:00 2001
From e55e040068c62610e33b4079a6df4fea1c991cea Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sat, 23 Jul 2016 01:35:51 +0000
Subject: [PATCH 01/10] hv_sock: introduce Hyper-V Sockets
@ -1787,5 +1787,5 @@ index 000000000000..331d3759f5cb
+MODULE_DESCRIPTION("Hyper-V Sockets");
+MODULE_LICENSE("Dual BSD/GPL");
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From d7993ed3b74094426984ba2c3f6832471fdcb591 Mon Sep 17 00:00:00 2001
From ee127788bcfa5195e19be6b1ed19f286ef7747fb Mon Sep 17 00:00:00 2001
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
Date: Mon, 23 May 2016 18:55:45 +0100
Subject: [PATCH 02/10] vmbus: Don't spam the logs with unknown GUIDs
@ -26,5 +26,5 @@ index d8bc4b910192..8df02f3ca0b2 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 9d910a0c60eb7b71c291f352146b1379344cb446 Mon Sep 17 00:00:00 2001
From 542131498398ad69d36d82723031c5fef3745d92 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sun, 6 Nov 2016 13:14:07 -0800
Subject: [PATCH 03/10] Drivers: hv: utils: Fix the mapping between host
@ -44,5 +44,5 @@ index bcd06306f3e8..e7707747f56d 100644
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 29e4615d6801fada6f4d971ee96135f886696358 Mon Sep 17 00:00:00 2001
From fa5aac6862912101dab61c6bbbd41870e3caba12 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sun, 6 Nov 2016 13:14:10 -0800
Subject: [PATCH 04/10] Drivers: hv: vss: Improve log messages.
@ -101,5 +101,5 @@ index a76e3db0d01f..b1446d51ef45 100644
return 0;
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From fdf7688d00da0f09e6006beff92164bff6419cc0 Mon Sep 17 00:00:00 2001
From 52405261f9f25598b396808c83e6f8816082030b Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sun, 6 Nov 2016 13:14:11 -0800
Subject: [PATCH 05/10] Drivers: hv: vss: Operation timeouts should match host
@ -44,5 +44,5 @@ index b1446d51ef45..4e543dbb731a 100644
rc = hvutil_transport_send(hvt, vss_msg, sizeof(*vss_msg), NULL);
if (rc) {
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From c3a0dd0d3b5782363490038f2ef89bcfeef5cb83 Mon Sep 17 00:00:00 2001
From 482b3a2ce85dd3678d06004c004a5ffa3aa282a3 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sat, 28 Jan 2017 12:37:17 -0700
Subject: [PATCH 06/10] Drivers: hv: vmbus: Use all supported IC versions to
@ -488,5 +488,5 @@ index 489ad74c1e6e..956acfc93487 100644
void hv_event_tasklet_disable(struct vmbus_channel *channel);
void hv_event_tasklet_enable(struct vmbus_channel *channel);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From c1959b317c5bbb87ed2f059f5bcf890f97fc8ee6 Mon Sep 17 00:00:00 2001
From ef7a0a663125754c290f57f4ab7b777b5948aa73 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sat, 28 Jan 2017 12:37:18 -0700
Subject: [PATCH 07/10] Drivers: hv: Log the negotiated IC versions.
@ -114,5 +114,5 @@ index f3797c07be10..89440c2eb346 100644
hb_srv_version & 0xFFFF);
}
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From 7f2e5e42d66f4fee04583042bde0a429bdee6731 Mon Sep 17 00:00:00 2001
From 11521f5b896d12cd197992d7a7b3420b798ea396 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sun, 26 Mar 2017 16:42:20 +0800
Subject: [PATCH 08/10] vmbus: fix missed ring events on boot
@ -52,5 +52,5 @@ index e7949b64bfbc..2fe024e86209 100644
void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From bc241d095a4013fb9f4d6e7be0c5282768e347f5 Mon Sep 17 00:00:00 2001
From 496112e94ea46ea6069af0c849df325ff0fcc819 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 29 Mar 2017 18:37:10 +0800
Subject: [PATCH 09/10] vmbus: remove "goto error_clean_msglist" in
@ -56,5 +56,5 @@ index 1606e7f08f4b..1caed01954f6 100644
vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle);
kfree(open_info);
--
2.12.2
2.13.0

View File

@ -1,4 +1,4 @@
From d8d7ba9914f6f60a6a4ff8d1e3fbb8f0a704b530 Mon Sep 17 00:00:00 2001
From c53fd9ce9dc1bac2be58efaa7a36c4c1d782d581 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 24 Mar 2017 20:53:18 +0800
Subject: [PATCH 10/10] vmbus: dynamically enqueue/dequeue the channel on
@ -173,5 +173,5 @@ index 956acfc93487..9ee292b28e41 100644
void vmbus_setevent(struct vmbus_channel *channel);
--
2.12.2
2.13.0

View File

@ -1,17 +0,0 @@
kernel:
image: "linuxkit/kernel:4.10.x"
cmdline: "console=ttyS0"
init:
- linuxkit/init:4fc8aa82ab34d62d510575c8fbe0c58b7ba9c480
- linuxkit/runc:3a4e6cbf15470f62501b019b55e1caac5ee7689f
- linuxkit/containerd:b1766e4c4c09f63ac4925a6e4612852a93f7e73b
onboot:
- name: check-kernel-config
image: "linuxkit/test-kernel-config:ecff41279ccbc408079a3996a956432651c6eb9c"
readonly: true
- name: poweroff
image: "linuxkit/poweroff:a8f1e4ad8d459f1fdaad9e4b007512cb3b504ae8"
command: ["/bin/sh", "/poweroff.sh", "3"]
trust:
org:
- linuxkit

View File

@ -1,22 +0,0 @@
#!/bin/sh
# SUMMARY: Sanity check on the kernel config file
# LABELS:
# REPEAT:
set -e
# Source libraries. Uncomment if needed/defined
#. "${RT_LIB}"
. "${RT_PROJECT_ROOT}/_lib/lib.sh"
clean_up() {
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \;
}
trap clean_up EXIT
# Test code goes here
moby build -output kernel+initrd test-kernel-config
RESULT="$(linuxkit run qemu test-kernel-config)"
echo "${RESULT}" | grep -q "suite PASSED"
exit 0