mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-25 19:54:38 +00:00
Merge pull request #254 from rneugeba/patches-up
linux: properly update kernel patches to v4.4.14
This commit is contained in:
commit
20ef44b187
@ -1,7 +1,7 @@
|
||||
From 076de0d8086f75b10632476ad8f128095adde73c Mon Sep 17 00:00:00 2001
|
||||
From 6fb5c9da4cb99e2ed0e031a7e29a0323ecd3d46f 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/41] virtio: make find_vqs() checkpatch.pl-friendly
|
||||
Subject: [PATCH 01/40] virtio: make find_vqs() checkpatch.pl-friendly
|
||||
|
||||
checkpatch.pl wants arrays of strings declared as follows:
|
||||
|
||||
@ -215,5 +215,5 @@ index e5ce8ab..6e6cb0c 100644
|
||||
u64 (*get_features)(struct virtio_device *vdev);
|
||||
int (*finalize_features)(struct virtio_device *vdev);
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2155678736173e6ad2f5f5ec9ce4a49cf689457c Mon Sep 17 00:00:00 2001
|
||||
From bd24912a81b0c3a24040f128c3bc9b88f5320afe 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/41] VSOCK: constify vmci_transport_notify_ops structures
|
||||
Subject: [PATCH 02/40] VSOCK: constify vmci_transport_notify_ops structures
|
||||
|
||||
The vmci_transport_notify_ops structures are never modified, so declare
|
||||
them as const.
|
||||
@ -73,5 +73,5 @@ index dc9c792..21e591d 100644
|
||||
vmci_transport_notify_pkt_socket_destruct,
|
||||
vmci_transport_notify_pkt_poll_in,
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 9d5b17e645e9ccddfc2a6ab112ae69739da32ae6 Mon Sep 17 00:00:00 2001
|
||||
From 5fa2db5aea3896f3c09e76cd1f6b60233a09237b 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/41] AF_VSOCK: Shrink the area influenced by prepare_to_wait
|
||||
Subject: [PATCH 03/40] AF_VSOCK: Shrink the area influenced by prepare_to_wait
|
||||
|
||||
When a thread is prepared for waiting by calling prepare_to_wait, sleeping
|
||||
is not allowed until either the wait has taken place or finish_wait has
|
||||
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
1 file changed, 85 insertions(+), 73 deletions(-)
|
||||
|
||||
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|
||||
index 7fd1220..3dce53e 100644
|
||||
index 9b5bd6d..b5f1221 100644
|
||||
--- a/net/vmw_vsock/af_vsock.c
|
||||
+++ b/net/vmw_vsock/af_vsock.c
|
||||
@@ -1209,10 +1209,14 @@ static int vsock_stream_connect(struct socket *sock, struct sockaddr *addr,
|
||||
@ -322,9 +322,9 @@ index 7fd1220..3dce53e 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1816,8 +1830,6 @@ vsock_stream_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
|
||||
@@ -1797,8 +1811,6 @@ vsock_stream_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
|
||||
if (copied > 0)
|
||||
err = copied;
|
||||
}
|
||||
|
||||
-out_wait:
|
||||
- finish_wait(sk_sleep(sk), &wait);
|
||||
@ -332,5 +332,5 @@ index 7fd1220..3dce53e 100644
|
||||
release_sock(sk);
|
||||
return err;
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 17665d95bdc4e922e45e5d7abca3de9b0b65e1f9 Mon Sep 17 00:00:00 2001
|
||||
From b91a596f3b7dc3cc9f9f37a190f6362ed2c5617d Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 11:10:21 +0800
|
||||
Subject: [PATCH 04/41] VSOCK: transport-specific vsock_transport functions
|
||||
Subject: [PATCH 04/40] VSOCK: transport-specific vsock_transport functions
|
||||
|
||||
struct vsock_transport contains function pointers called by AF_VSOCK
|
||||
core code. The transport may want its own transport-specific function
|
||||
@ -34,10 +34,10 @@ index e9eb2d6..23f5525 100644
|
||||
|
||||
void vsock_release_pending(struct sock *pending);
|
||||
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|
||||
index 3dce53e..112fa8b 100644
|
||||
index b5f1221..15f9595 100644
|
||||
--- a/net/vmw_vsock/af_vsock.c
|
||||
+++ b/net/vmw_vsock/af_vsock.c
|
||||
@@ -2006,6 +2006,15 @@ void vsock_core_exit(void)
|
||||
@@ -1987,6 +1987,15 @@ void vsock_core_exit(void)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vsock_core_exit);
|
||||
|
||||
@ -54,5 +54,5 @@ index 3dce53e..112fa8b 100644
|
||||
MODULE_DESCRIPTION("VMware Virtual Socket Family");
|
||||
MODULE_VERSION("1.0.1.0-k");
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6d9a53a79d1794f8863c6ed37c290c3bf04ef931 Mon Sep 17 00:00:00 2001
|
||||
From b1fac60b2921b7478859a021a438daeee40a1848 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:27:00 +0800
|
||||
Subject: [PATCH 05/41] VSOCK: Introduce virtio_vsock_common.ko
|
||||
Subject: [PATCH 05/40] VSOCK: Introduce virtio_vsock_common.ko
|
||||
|
||||
This module contains the common code and header files for the following
|
||||
virtio_transporto and vhost_vsock kernel modules.
|
||||
@ -1321,5 +1321,5 @@ index 0000000..5b9e202
|
||||
+MODULE_AUTHOR("Asias He");
|
||||
+MODULE_DESCRIPTION("common code for virtio vsock");
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From edffb28d3dc83885096529fbe0e7cd720d58be8e Mon Sep 17 00:00:00 2001
|
||||
From 3cbea7cc3428b64f63aec6447bd9b727876bf075 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:28:48 +0800
|
||||
Subject: [PATCH 06/41] VSOCK: Introduce virtio_transport.ko
|
||||
Subject: [PATCH 06/40] VSOCK: Introduce virtio_transport.ko
|
||||
|
||||
VM sockets virtio transport implementation. This driver runs in the
|
||||
guest.
|
||||
@ -617,5 +617,5 @@ index 0000000..45472e0
|
||||
+MODULE_DESCRIPTION("virtio transport for vsock");
|
||||
+MODULE_DEVICE_TABLE(virtio, id_table);
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 16f7572f518eafec12136aa081f4c35d6355f19b Mon Sep 17 00:00:00 2001
|
||||
From a77fb1fd7d746dbb4ad454b3abb2f4fe251418ac Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:29:21 +0800
|
||||
Subject: [PATCH 07/41] VSOCK: Introduce vhost_vsock.ko
|
||||
Subject: [PATCH 07/40] VSOCK: Introduce vhost_vsock.ko
|
||||
|
||||
VM sockets vhost transport implementation. This driver runs on the
|
||||
host.
|
||||
@ -741,5 +741,5 @@ index 0000000..173f9fc
|
||||
+#define VHOST_VSOCK_START _IO(VHOST_VIRTIO, 0x61)
|
||||
+#endif
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From bc5ebf61ea082b6f7562bd43d9f343cc7edc491d Mon Sep 17 00:00:00 2001
|
||||
From f7a03549f4cdd5fa352f6a0392d23f52efc5ecd4 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:30:19 +0800
|
||||
Subject: [PATCH 08/41] VSOCK: Add Makefile and Kconfig
|
||||
Subject: [PATCH 08/40] VSOCK: Add Makefile and Kconfig
|
||||
|
||||
Enable virtio-vsock and vhost-vsock.
|
||||
|
||||
@ -94,5 +94,5 @@ index 2ce52d7..cf4c294 100644
|
||||
vsock-y += af_vsock.o vsock_addr.o
|
||||
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 9024e2d916d191281c6deda22eed41c886f9120b Mon Sep 17 00:00:00 2001
|
||||
From 91e1a920c69498f37aa1278b7faf970848ab613e 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 09/41] VSOCK: Only allow host network namespace to use
|
||||
Subject: [PATCH 09/40] VSOCK: Only allow host network namespace to use
|
||||
AF_VSOCK.
|
||||
|
||||
The VSOCK addressing schema does not really lend itself to simply creating an
|
||||
@ -13,10 +13,10 @@ Signed-off-by: Ian Campbell <ian.campbell@docker.com>
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|
||||
index 112fa8b..ead5127 100644
|
||||
index 15f9595..8373709 100644
|
||||
--- a/net/vmw_vsock/af_vsock.c
|
||||
+++ b/net/vmw_vsock/af_vsock.c
|
||||
@@ -1859,6 +1859,9 @@ static const struct proto_ops vsock_stream_ops = {
|
||||
@@ -1840,6 +1840,9 @@ static const struct proto_ops vsock_stream_ops = {
|
||||
static int vsock_create(struct net *net, struct socket *sock,
|
||||
int protocol, int kern)
|
||||
{
|
||||
@ -27,5 +27,5 @@ index 112fa8b..ead5127 100644
|
||||
return -EINVAL;
|
||||
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 87b1f78685e31082a8b3844ab8a1500cd486fc98 Mon Sep 17 00:00:00 2001
|
||||
From 2ee7848eba982cc94726d127ccc3823106e69fe5 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Oshins <jakeo@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:41 -0800
|
||||
Subject: [PATCH 10/41] drivers:hv: Define the channel type for Hyper-V PCI
|
||||
Subject: [PATCH 10/40] drivers:hv: Define the channel type for Hyper-V PCI
|
||||
Express pass-through
|
||||
|
||||
This defines the channel type for PCI front-ends in Hyper-V VMs.
|
||||
@ -59,5 +59,5 @@ index ae6a711..10dda1e 100644
|
||||
*/
|
||||
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From acfa2b1d85d80d256f2e02bb03ee0107bd998c13 Mon Sep 17 00:00:00 2001
|
||||
From 566d140d305b58578a5bdac86b3730fdfd3c8c8b 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 11/41] Drivers: hv: vmbus: Use uuid_le type consistently
|
||||
Subject: [PATCH 11/40] Drivers: hv: vmbus: Use uuid_le type consistently
|
||||
|
||||
Consistently use uuid_le type in the Hyper-V driver code.
|
||||
|
||||
@ -293,5 +293,5 @@ index 5b96206..8adca44 100644
|
||||
strcpy(alias, "vmbus:");
|
||||
strcat(alias, guid_name);
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3b6bcb030c01863b075ce19559e6134b77b09b8b Mon Sep 17 00:00:00 2001
|
||||
From 96fd7fec2645d9a278e9532339176c3ac3c66ac1 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 12/41] Drivers: hv: vmbus: Use uuid_le_cmp() for comparing
|
||||
Subject: [PATCH 12/40] Drivers: hv: vmbus: Use uuid_le_cmp() for comparing
|
||||
GUIDs
|
||||
|
||||
Use uuid_le_cmp() for comparing GUIDs.
|
||||
@ -51,5 +51,5 @@ index e64934e..aa4d8cc 100644
|
||||
|
||||
return NULL;
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e843982a50538584d46295cdbccc584374dcfd6c Mon Sep 17 00:00:00 2001
|
||||
From 7869027cfaa29640273828e7897d266e884d4515 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:47 -0800
|
||||
Subject: [PATCH 13/41] Drivers: hv: vmbus: serialize process_chn_event() and
|
||||
Subject: [PATCH 13/40] Drivers: hv: vmbus: serialize process_chn_event() and
|
||||
vmbus_close_internal()
|
||||
|
||||
process_chn_event(), running in the tasklet, can race with
|
||||
@ -83,5 +83,5 @@ index 9098f13..6a90c69 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a5eb33883eff6c75ffe084674b7550d2a7bca2d2 Mon Sep 17 00:00:00 2001
|
||||
From 82f9229226c6f3c6298832583e42d7721775ec34 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:48 -0800
|
||||
Subject: [PATCH 14/41] Drivers: hv: vmbus: do sanity check of channel state in
|
||||
Subject: [PATCH 14/40] Drivers: hv: vmbus: do sanity check of channel state in
|
||||
vmbus_close_internal()
|
||||
|
||||
This fixes an incorrect assumption of channel state in the function.
|
||||
@ -38,5 +38,5 @@ index 6a90c69..b3c14ca 100644
|
||||
channel->sc_creation_callback = NULL;
|
||||
/* Stop callback and cancel the timer asap */
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From fe74981d0e068abb7502fc52dffdea5e89f89fc2 Mon Sep 17 00:00:00 2001
|
||||
From 3df9ee5206a2e1b9698eb8785f5af8988d8be017 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:49 -0800
|
||||
Subject: [PATCH 15/41] Drivers: hv: vmbus: fix rescind-offer handling for
|
||||
Subject: [PATCH 15/40] Drivers: hv: vmbus: fix rescind-offer handling for
|
||||
device without a driver
|
||||
|
||||
In the path vmbus_onoffer_rescind() -> vmbus_device_unregister() ->
|
||||
@ -118,5 +118,5 @@ index aa4d8cc..5a71b2a 100644
|
||||
|
||||
}
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 202e5b6d1aa80448d661657f3bf38ef1741ccd00 Mon Sep 17 00:00:00 2001
|
||||
From e59d4119019c68491a438f45a38fb2768368893b Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:50 -0800
|
||||
Subject: [PATCH 16/41] Drivers: hv: vmbus: release relid on error in
|
||||
Subject: [PATCH 16/40] Drivers: hv: vmbus: release relid on error in
|
||||
vmbus_process_offer()
|
||||
|
||||
We want to simplify vmbus_onoffer_rescind() by not invoking
|
||||
@ -70,5 +70,5 @@ index 7903acc..9c9da3a 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7b79c52f3e8d783b98915fc6066daf9c4394f929 Mon Sep 17 00:00:00 2001
|
||||
From acf9f7fac136e7fe9c993b433ca8f66f6425b73d Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:51 -0800
|
||||
Subject: [PATCH 17/41] Drivers: hv: vmbus: channge
|
||||
Subject: [PATCH 17/40] Drivers: hv: vmbus: channge
|
||||
vmbus_connection.channel_lock to mutex
|
||||
|
||||
spinlock is unnecessary here.
|
||||
@ -112,5 +112,5 @@ index 3782636..d9937be 100644
|
||||
struct workqueue_struct *work_queue;
|
||||
};
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 1f0c4d3c51b91e7efe8cda63ff471e5e20ce59a3 Mon Sep 17 00:00:00 2001
|
||||
From 249964bb6c67d009fba9e64faf011a3766f5aad1 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Mon, 14 Dec 2015 19:02:00 -0800
|
||||
Subject: [PATCH 18/41] Drivers: hv: remove code duplication between
|
||||
Subject: [PATCH 18/40] Drivers: hv: remove code duplication between
|
||||
vmbus_recvpacket()/vmbus_recvpacket_raw()
|
||||
|
||||
vmbus_recvpacket() and vmbus_recvpacket_raw() are almost identical but
|
||||
@ -122,5 +122,5 @@ index 2889d97..dd6de7f 100644
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vmbus_recvpacket_raw);
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 9e1ad22e913564dac402f93eb2a1101d9e199758 Mon Sep 17 00:00:00 2001
|
||||
From c5d50c1c2c15ae766d59e31c47946703ba22d0ed Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Dec 2015 12:21:22 -0800
|
||||
Subject: [PATCH 19/41] Drivers: hv: vmbus: fix the building warning with
|
||||
Subject: [PATCH 19/40] Drivers: hv: vmbus: fix the building warning with
|
||||
hyperv-keyboard
|
||||
|
||||
With the recent change af3ff643ea91ba64dd8d0b1cbed54d44512f96cd
|
||||
@ -68,5 +68,5 @@ index 4712d7d..9e2de6a 100644
|
||||
*/
|
||||
#define HV_VSS_GUID \
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 02adc9f995f59194291bde782062a2aa38201ab9 Mon Sep 17 00:00:00 2001
|
||||
From e8d8f6bedfd812615dadf1c9ee02bcf8fe59bf79 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 20/41] Drivers: hv: vmbus: Treat Fibre Channel devices as
|
||||
Subject: [PATCH 20/40] Drivers: hv: vmbus: Treat Fibre Channel devices as
|
||||
performance critical
|
||||
|
||||
For performance critical devices, we distribute the incoming
|
||||
@ -38,5 +38,5 @@ index d013171..1c1ad47 100644
|
||||
{ HV_NIC_GUID, },
|
||||
/* NetworkDirect Guest RDMA */
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4607194c4f3d351c7967a03f6dd8a6590be10cab Mon Sep 17 00:00:00 2001
|
||||
From b3b94cfe6d4b495e9a1351116f0648e3d20654c6 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 21/41] Drivers: hv: vmbus: Add vendor and device atttributes
|
||||
Subject: [PATCH 21/40] Drivers: hv: vmbus: Add vendor and device atttributes
|
||||
|
||||
Add vendor and device attributes to VMBUS devices. These will be used
|
||||
by Hyper-V tools as well user-level RDMA libraries that will use the
|
||||
@ -351,5 +351,5 @@ index 9e2de6a..51c98fd 100644
|
||||
struct device device;
|
||||
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 32a9ade9656d3ce93efd9e429eca714ccc90c53e Mon Sep 17 00:00:00 2001
|
||||
From a72c960b2aaa4f2f7f94f563cbbd28c33a8eabd1 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:34 -0800
|
||||
Subject: [PATCH 22/41] Drivers: hv: vmbus: avoid infinite loop in
|
||||
Subject: [PATCH 22/40] Drivers: hv: vmbus: avoid infinite loop in
|
||||
init_vp_index()
|
||||
|
||||
When we pick a CPU to use for a new subchannel we try find a non-used one
|
||||
@ -45,5 +45,5 @@ index 107d72f..af1d82e 100644
|
||||
cur_cpu = cpumask_next(cur_cpu, &available_mask);
|
||||
if (cur_cpu >= nr_cpu_ids) {
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ddf2482b26c0381ab579ed3c4769249ea0f5aacb Mon Sep 17 00:00:00 2001
|
||||
From 4a2cba4dc7b1292b70f07760f04b322bb37d4817 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:35 -0800
|
||||
Subject: [PATCH 23/41] Drivers: hv: vmbus: avoid scheduling in interrupt
|
||||
Subject: [PATCH 23/40] Drivers: hv: vmbus: avoid scheduling in interrupt
|
||||
context in vmbus_initiate_unload()
|
||||
|
||||
We have to call vmbus_initiate_unload() on crash to make kdump work but
|
||||
@ -95,5 +95,5 @@ index af1d82e..d6c6114 100644
|
||||
|
||||
/*
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6821345c611268ced9be1e9116ed3a5de98194bf Mon Sep 17 00:00:00 2001
|
||||
From 99f9ed2fa0219e8d0725589dd3c9010955fcc067 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:37 -0800
|
||||
Subject: [PATCH 24/41] Drivers: hv: vmbus: add a helper function to set a
|
||||
Subject: [PATCH 24/40] Drivers: hv: vmbus: add a helper function to set a
|
||||
channel's pending send size
|
||||
|
||||
This will be used by the coming net/hvsock driver.
|
||||
@ -32,5 +32,5 @@ index 51c98fd..934542a 100644
|
||||
|
||||
int vmbus_request_offers(void);
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f8302883a3723113f63e2361968f303cdcbcf0f9 Mon Sep 17 00:00:00 2001
|
||||
From b0c86581b0be89a063c52f3d63d5583d46db649e Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:38 -0800
|
||||
Subject: [PATCH 25/41] Drivers: hv: vmbus: define the new offer type for
|
||||
Subject: [PATCH 25/40] Drivers: hv: vmbus: define the new offer type for
|
||||
Hyper-V socket (hvsock)
|
||||
|
||||
A helper function is also added.
|
||||
@ -40,5 +40,5 @@ index 934542a..a4f105d 100644
|
||||
enum hv_signal_policy policy)
|
||||
{
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4023630c2a63f60d82ff894cfbfd0072c2f43f74 Mon Sep 17 00:00:00 2001
|
||||
From 7aeced61892a30b5a71e202521cdaaa86fce18bd Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:39 -0800
|
||||
Subject: [PATCH 26/41] Drivers: hv: vmbus: vmbus_sendpacket_ctl: hvsock: avoid
|
||||
Subject: [PATCH 26/40] Drivers: hv: vmbus: vmbus_sendpacket_ctl: hvsock: avoid
|
||||
unnecessary signaling
|
||||
|
||||
When the hvsock channel's outbound ringbuffer is full (i.e.,
|
||||
@ -41,5 +41,5 @@ index dd6de7f..128dcf2 100644
|
||||
|
||||
return ret;
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a43b42887324604cf976d6dde10d5e4b4d411a14 Mon Sep 17 00:00:00 2001
|
||||
From d10104d080a6729dc8b644a6ad01262d8e42e3e4 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:40 -0800
|
||||
Subject: [PATCH 27/41] Drivers: hv: vmbus: define a new VMBus message type for
|
||||
Subject: [PATCH 27/40] Drivers: hv: vmbus: define a new VMBus message type for
|
||||
hvsock
|
||||
|
||||
A function to send the type of message is also added.
|
||||
@ -97,5 +97,5 @@ index a4f105d..191bc5d 100644
|
||||
+ const uuid_le *shv_host_servie_id);
|
||||
#endif /* _HYPERV_H */
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7c82782252605f2cc287780166ee10442d10e978 Mon Sep 17 00:00:00 2001
|
||||
From 72ea9d92422da277db8f890a355b06eb2d463b6e Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:41 -0800
|
||||
Subject: [PATCH 28/41] Drivers: hv: vmbus: add a hvsock flag in struct
|
||||
Subject: [PATCH 28/40] Drivers: hv: vmbus: add a hvsock flag in struct
|
||||
hv_driver
|
||||
|
||||
Only the coming hv_sock driver has a "true" value for this flag.
|
||||
@ -60,5 +60,5 @@ index 191bc5d..05966e2 100644
|
||||
uuid_le dev_type;
|
||||
const struct hv_vmbus_device_id *id_table;
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 844324cce7cf8caf3b86795637bd9afddfbbc390 Mon Sep 17 00:00:00 2001
|
||||
From da0e563f0d84b1b9844192a316a24ea52492e106 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:42 -0800
|
||||
Subject: [PATCH 29/41] Drivers: hv: vmbus: add a per-channel rescind callback
|
||||
Subject: [PATCH 29/40] Drivers: hv: vmbus: add a per-channel rescind callback
|
||||
|
||||
This will be used by the coming hv_sock driver.
|
||||
|
||||
@ -68,5 +68,5 @@ index 05966e2..ad04017 100644
|
||||
* Retrieve the (sub) channel on which to send an outgoing request.
|
||||
* When a primary channel has multiple sub-channels, we choose a
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0f2be5d95acaac8d4391c6f7918f77ada0885f48 Mon Sep 17 00:00:00 2001
|
||||
From 91e2c0fba0da49bc3b18c6e3ca5194b259325f29 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:43 -0800
|
||||
Subject: [PATCH 30/41] Drivers: hv: vmbus: add an API
|
||||
Subject: [PATCH 30/40] Drivers: hv: vmbus: add an API
|
||||
vmbus_hvsock_device_unregister()
|
||||
|
||||
The hvsock driver needs this API to release all the resources related
|
||||
@ -149,5 +149,5 @@ index ad04017..993318a 100644
|
||||
resource_size_t min, resource_size_t max,
|
||||
resource_size_t size, resource_size_t align,
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c3244e29d0e58c3de56f23075ae22f9d47ba9d0f Mon Sep 17 00:00:00 2001
|
||||
From 75183a2e296a6daa71d0cd2ff261124a80256610 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 31/41] Drivers: hv: vmbus: Give control over how the ring
|
||||
Subject: [PATCH 31/40] Drivers: hv: vmbus: Give control over how the ring
|
||||
access is serialized
|
||||
|
||||
On the channel send side, many of the VMBUS
|
||||
@ -204,5 +204,5 @@ index 993318a..6c9695e 100644
|
||||
{
|
||||
return !!(c->offermsg.offer.chn_flags &
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3269a14134d8c0ccc6e50e5336142e8f65226da2 Mon Sep 17 00:00:00 2001
|
||||
From 1a7e1a3f3865aa1e9112b7c699f5feeb76da60d6 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 26 Feb 2016 15:13:16 -0800
|
||||
Subject: [PATCH 32/41] Drivers: hv: vmbus: avoid wait_for_completion() on
|
||||
Subject: [PATCH 32/40] Drivers: hv: vmbus: avoid wait_for_completion() on
|
||||
crash
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@ -96,5 +96,5 @@ index d76a65f..45ea71e 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.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3d4dcde731d52d41491301a3430ea84324331b4e Mon Sep 17 00:00:00 2001
|
||||
From 1fe930bcba521aebd15a78bbf151798ee48b367a Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 26 Feb 2016 15:13:18 -0800
|
||||
Subject: [PATCH 33/41] Drivers: hv: vmbus: avoid unneeded compiler
|
||||
Subject: [PATCH 33/40] Drivers: hv: vmbus: avoid unneeded compiler
|
||||
optimizations in vmbus_wait_for_unload()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@ -35,5 +35,5 @@ index f70e352..c892db5 100644
|
||||
continue;
|
||||
}
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 92afb1396d3e35cf6b87248ded174db0c9699e1e Mon Sep 17 00:00:00 2001
|
||||
From 66f17a83f539d5141cdedef8bc18aedc80927f0f Mon Sep 17 00:00:00 2001
|
||||
From: Tom Herbert <tom@herbertland.com>
|
||||
Date: Mon, 7 Mar 2016 14:11:06 -0800
|
||||
Subject: [PATCH 34/41] kcm: Kernel Connection Multiplexor module
|
||||
Subject: [PATCH 34/40] kcm: Kernel Connection Multiplexor module
|
||||
|
||||
This module implements the Kernel Connection Multiplexor.
|
||||
|
||||
@ -2308,5 +2308,5 @@ index 0000000..649d246
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS_NETPROTO(PF_KCM);
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c6e4e04e17788c1fe4c9ba68f2c0ca52b0786be0 Mon Sep 17 00:00:00 2001
|
||||
From ef50ff6678620d60f63adc48af658f0849f2e75b Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Mar 2016 02:51:09 -0700
|
||||
Subject: [PATCH 35/41] net: add the AF_KCM entries to family name tables
|
||||
Subject: [PATCH 35/40] net: add the AF_KCM entries to family name tables
|
||||
|
||||
This is for the recent kcm driver, which introduces AF_KCM(41) in
|
||||
b7ac4eb(kcm: Kernel Connection Multiplexor module).
|
||||
@ -48,5 +48,5 @@ index 0d91f7d..925def4 100644
|
||||
|
||||
/*
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ef5406e1c37f0f3a2cfaf4be867639d5d882c3bb Mon Sep 17 00:00:00 2001
|
||||
From 19a770426551eae942bdeeaf6ba22726d608dc32 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 36/41] net: Add Qualcomm IPC router
|
||||
Subject: [PATCH 36/40] net: Add Qualcomm IPC router
|
||||
|
||||
Add an implementation of Qualcomm's IPC router protocol, used to
|
||||
communicate with service providing remote processors.
|
||||
@ -1303,5 +1303,5 @@ index 0000000..84ebce7
|
||||
+MODULE_DESCRIPTION("Qualcomm IPC-Router SMD interface driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 07e2f075c89ac3ec1dd2ac47078e1ea7b376ba88 Mon Sep 17 00:00:00 2001
|
||||
From 44d8ced6db45835d3d823a43b0c3da2d13685390 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sun, 15 May 2016 09:53:11 -0700
|
||||
Subject: [PATCH 37/41] hv_sock: introduce Hyper-V Sockets
|
||||
Subject: [PATCH 37/40] hv_sock: introduce Hyper-V Sockets
|
||||
|
||||
Hyper-V Sockets (hv_sock) supplies a byte-stream based communication
|
||||
mechanism between the host and the guest. It's somewhat like TCP over
|
||||
@ -1801,5 +1801,5 @@ index 0000000..b91bd60
|
||||
+MODULE_DESCRIPTION("Hyper-V Sockets");
|
||||
+MODULE_LICENSE("Dual BSD/GPL");
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 5a28294f62717b7eca4d5a014ed43acef3d5667a Mon Sep 17 00:00:00 2001
|
||||
From 4a96f8f688b9f36f5f6125af07a74197af68f933 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Mar 2016 02:53:08 -0700
|
||||
Subject: [PATCH 38/41] net: add the AF_HYPERV entries to family name tables
|
||||
Subject: [PATCH 38/40] net: add the AF_HYPERV entries to family name tables
|
||||
|
||||
This is for the hv_sock driver, which introduces AF_HYPERV(42).
|
||||
|
||||
@ -45,5 +45,5 @@ index 925def4..323f7a3 100644
|
||||
|
||||
/*
|
||||
--
|
||||
2.8.2
|
||||
2.9.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6b78cb6d1a476bc91ad5a7f9754db29c4e566bc2 Mon Sep 17 00:00:00 2001
|
||||
From 7d6a28adbe92368f865c6f9e95e5f7ab10ab6f8e Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sat, 21 May 2016 16:55:50 +0800
|
||||
Subject: [PATCH 40/41] Drivers: hv: vmbus: fix the race when querying &
|
||||
Subject: [PATCH 39/40] Drivers: hv: vmbus: fix the race when querying &
|
||||
updating the percpu list
|
||||
|
||||
There is a rare race when we remove an entry from the global list
|
||||
@ -32,12 +32,12 @@ index 57a1b65..da76a2e 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -592,6 +592,7 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
|
||||
|
||||
|
||||
out:
|
||||
tasklet_enable(tasklet);
|
||||
tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
return ret;
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index c892db5..0a54317 100644
|
||||
@ -45,7 +45,7 @@ index c892db5..0a54317 100644
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
+#include <linux/interrupt.h>
|
||||
#include <linux/sched.h>
|
||||
@ -53,81 +53,80 @@ index c892db5..0a54317 100644
|
||||
#include <linux/mm.h>
|
||||
@@ -307,12 +308,13 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct vmbus_channel *primary_channel;
|
||||
unsigned long flags;
|
||||
struct vmbus_channel *primary_channel;
|
||||
-
|
||||
- vmbus_release_relid(relid);
|
||||
+ struct tasklet_struct *tasklet;
|
||||
|
||||
BUG_ON(!channel->rescind);
|
||||
BUG_ON(!mutex_is_locked(&vmbus_connection.channel_mutex));
|
||||
|
||||
|
||||
BUG_ON(!channel->rescind);
|
||||
BUG_ON(!mutex_is_locked(&vmbus_connection.channel_mutex));
|
||||
|
||||
+ tasklet = hv_context.event_dpc[channel->target_cpu];
|
||||
+ tasklet_disable(tasklet);
|
||||
if (channel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(channel->target_cpu,
|
||||
if (channel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(channel->target_cpu,
|
||||
@@ -321,6 +323,8 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
percpu_channel_deq(channel);
|
||||
put_cpu();
|
||||
}
|
||||
percpu_channel_deq(channel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
if (channel->primary_channel == NULL) {
|
||||
list_del(&channel->listentry);
|
||||
|
||||
if (channel->primary_channel == NULL) {
|
||||
list_del(&channel->listentry);
|
||||
@@ -342,6 +346,8 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
&primary_channel->alloced_cpus_in_node);
|
||||
|
||||
free_channel(channel);
|
||||
&primary_channel->alloced_cpus_in_node);
|
||||
|
||||
free_channel(channel);
|
||||
+
|
||||
+ vmbus_release_relid(relid);
|
||||
}
|
||||
|
||||
|
||||
void vmbus_free_channels(void)
|
||||
@@ -363,6 +369,7 @@ void vmbus_free_channels(void)
|
||||
*/
|
||||
static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
{
|
||||
+ struct tasklet_struct *tasklet;
|
||||
struct vmbus_channel *channel;
|
||||
bool fnew = true;
|
||||
unsigned long flags;
|
||||
struct vmbus_channel *channel;
|
||||
bool fnew = true;
|
||||
unsigned long flags;
|
||||
@@ -409,6 +416,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
|
||||
init_vp_index(newchannel, dev_type);
|
||||
|
||||
|
||||
init_vp_index(newchannel, dev_type);
|
||||
|
||||
+ tasklet = hv_context.event_dpc[newchannel->target_cpu];
|
||||
+ tasklet_disable(tasklet);
|
||||
if (newchannel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(newchannel->target_cpu,
|
||||
if (newchannel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(newchannel->target_cpu,
|
||||
@@ -418,6 +427,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
percpu_channel_enq(newchannel);
|
||||
put_cpu();
|
||||
}
|
||||
percpu_channel_enq(newchannel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
/*
|
||||
* This state is used to indicate a successful open
|
||||
@@ -469,6 +480,7 @@ err_deq_chan:
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
|
||||
+ tasklet_disable(tasklet);
|
||||
if (newchannel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(newchannel->target_cpu,
|
||||
@@ -477,6 +489,8 @@ err_deq_chan:
|
||||
percpu_channel_deq(newchannel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
err_free_chan:
|
||||
free_channel(newchannel);
|
||||
--
|
||||
2.8.2
|
||||
|
||||
/*
|
||||
* This state is used to indicate a successful open
|
||||
@@ -469,6 +480,7 @@ err_deq_chan:
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
|
||||
+ tasklet_disable(tasklet);
|
||||
if (newchannel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(newchannel->target_cpu,
|
||||
@@ -477,6 +489,8 @@ err_deq_chan:
|
||||
percpu_channel_deq(newchannel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
err_free_chan:
|
||||
free_channel(newchannel);
|
||||
--
|
||||
2.9.0
|
@ -1,68 +0,0 @@
|
||||
From 248a6f77e4a373960892595a5ab500af8ce38343 Mon Sep 17 00:00:00 2001
|
||||
From: Ian Campbell <ian.campbell@docker.com>
|
||||
Date: Wed, 4 May 2016 14:21:53 +0100
|
||||
Subject: [PATCH 39/41] VSOCK: do not disconnect socket when peer has shutdown
|
||||
SEND only
|
||||
|
||||
The peer may be expecting a reply having sent a request and then done a
|
||||
shutdown(SHUT_WR), so tearing down the whole socket at this point seems
|
||||
wrong and breaks for me with a client which does a SHUT_WR.
|
||||
|
||||
Looking at other socket family's stream_recvmsg callbacks doing a shutdown
|
||||
here does not seem to be the norm and removing it does not seem to have
|
||||
had any adverse effects that I can see.
|
||||
|
||||
I'm using Stefan's RFC virtio transport patches, I'm unsure of the impact
|
||||
on the vmci transport.
|
||||
|
||||
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Cc: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
|
||||
Cc: Andy King <acking@vmware.com>
|
||||
Cc: Dmitry Torokhov <dtor@vmware.com>
|
||||
Cc: Jorgen Hansen <jhansen@vmware.com>
|
||||
Cc: Adit Ranadive <aditr@vmware.com>
|
||||
Cc: netdev@vger.kernel.org
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
(cherry picked from commit dedc58e067d8c379a15a8a183c5db318201295bb)
|
||||
---
|
||||
net/vmw_vsock/af_vsock.c | 21 +--------------------
|
||||
1 file changed, 1 insertion(+), 20 deletions(-)
|
||||
|
||||
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|
||||
index ead5127..8373709 100644
|
||||
--- a/net/vmw_vsock/af_vsock.c
|
||||
+++ b/net/vmw_vsock/af_vsock.c
|
||||
@@ -1808,27 +1808,8 @@ vsock_stream_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
|
||||
else if (sk->sk_shutdown & RCV_SHUTDOWN)
|
||||
err = 0;
|
||||
|
||||
- if (copied > 0) {
|
||||
- /* We only do these additional bookkeeping/notification steps
|
||||
- * if we actually copied something out of the queue pair
|
||||
- * instead of just peeking ahead.
|
||||
- */
|
||||
-
|
||||
- if (!(flags & MSG_PEEK)) {
|
||||
- /* If the other side has shutdown for sending and there
|
||||
- * is nothing more to read, then modify the socket
|
||||
- * state.
|
||||
- */
|
||||
- if (vsk->peer_shutdown & SEND_SHUTDOWN) {
|
||||
- if (vsock_stream_has_data(vsk) <= 0) {
|
||||
- sk->sk_state = SS_UNCONNECTED;
|
||||
- sock_set_flag(sk, SOCK_DONE);
|
||||
- sk->sk_state_change(sk);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ if (copied > 0)
|
||||
err = copied;
|
||||
- }
|
||||
|
||||
out:
|
||||
release_sock(sk);
|
||||
--
|
||||
2.8.2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 02e36dc741646dd93f2958378c87f22e6815a400 Mon Sep 17 00:00:00 2001
|
||||
From 44b637acc82d2a81162a51aacdcd2110a3adeab8 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 41/41] vmbus: Don't spam the logs with unknown GUIDs
|
||||
Subject: [PATCH 40/40] vmbus: Don't spam the logs with unknown GUIDs
|
||||
|
||||
With Hyper-V sockets device types are introduced on the fly. The pr_info()
|
||||
then prints a message on every connection, which is way too verbose. Since
|
||||
@ -18,13 +18,12 @@ index 0a54317..120ee22 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -147,7 +147,6 @@ static u16 hv_get_dev_type(const uuid_le *guid)
|
||||
if (!uuid_le_cmp(*guid, vmbus_devs[i].guid))
|
||||
return i;
|
||||
}
|
||||
if (!uuid_le_cmp(*guid, vmbus_devs[i].guid))
|
||||
return i;
|
||||
}
|
||||
- pr_info("Unknown GUID: %pUl\n", guid);
|
||||
return i;
|
||||
return i;
|
||||
}
|
||||
|
||||
--
|
||||
2.8.2
|
||||
|
||||
--
|
||||
2.9.0
|
Loading…
Reference in New Issue
Block a user