diff --git a/kernel/Makefile b/kernel/Makefile index fc7abe020..15bb75cab 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -172,11 +172,11 @@ endef # Build Targets # Debug targets only for latest stable and LTS stable # -$(eval $(call kernel,4.13.8,4.13.x,$(EXTRA))) -$(eval $(call kernel,4.13.8,4.13.x,-dbg)) -$(eval $(call kernel,4.9.57,4.9.x,$(EXTRA))) -$(eval $(call kernel,4.9.57,4.9.x,-dbg)) -$(eval $(call kernel,4.4.93,4.4.x,$(EXTRA))) +$(eval $(call kernel,4.13.9,4.13.x,$(EXTRA))) +$(eval $(call kernel,4.13.9,4.13.x,-dbg)) +$(eval $(call kernel,4.9.58,4.9.x,$(EXTRA))) +$(eval $(call kernel,4.9.58,4.9.x,-dbg)) +$(eval $(call kernel,4.4.94,4.4.x,$(EXTRA))) # Target for kernel config kconfig: | sources diff --git a/kernel/config-4.13.x-aarch64 b/kernel/config-4.13.x-aarch64 index 1c5d08d6d..91cb3ca3f 100644 --- a/kernel/config-4.13.x-aarch64 +++ b/kernel/config-4.13.x-aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.13.8 Kernel Configuration +# Linux/arm64 4.13.9 Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y diff --git a/kernel/config-4.13.x-x86_64 b/kernel/config-4.13.x-x86_64 index 1aca51059..95bc2fc07 100644 --- a/kernel/config-4.13.x-x86_64 +++ b/kernel/config-4.13.x-x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.13.8 Kernel Configuration +# Linux/x86 4.13.9 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y diff --git a/kernel/config-4.4.x-aarch64 b/kernel/config-4.4.x-aarch64 index 0011775e9..a608e7542 100644 --- a/kernel/config-4.4.x-aarch64 +++ b/kernel/config-4.4.x-aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.4.93 Kernel Configuration +# Linux/arm64 4.4.94 Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y diff --git a/kernel/config-4.4.x-x86_64 b/kernel/config-4.4.x-x86_64 index 1806b8e08..3804cf1dd 100644 --- a/kernel/config-4.4.x-x86_64 +++ b/kernel/config-4.4.x-x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.4.93 Kernel Configuration +# Linux/x86 4.4.94 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y diff --git a/kernel/config-4.9.x-aarch64 b/kernel/config-4.9.x-aarch64 index 2f1c5c2ce..4cea2636f 100644 --- a/kernel/config-4.9.x-aarch64 +++ b/kernel/config-4.9.x-aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.9.57 Kernel Configuration +# Linux/arm64 4.9.58 Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y diff --git a/kernel/config-4.9.x-x86_64 b/kernel/config-4.9.x-x86_64 index 38a0b55a5..56cab1be7 100644 --- a/kernel/config-4.9.x-x86_64 +++ b/kernel/config-4.9.x-x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.9.57 Kernel Configuration +# Linux/x86 4.9.58 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y diff --git a/kernel/patches-4.13.x/0001-vmbus-vmbus_open-reset-onchannel_callback-on-error.patch b/kernel/patches-4.13.x/0001-vmbus-vmbus_open-reset-onchannel_callback-on-error.patch index 84a7478bb..263beffd4 100644 --- a/kernel/patches-4.13.x/0001-vmbus-vmbus_open-reset-onchannel_callback-on-error.patch +++ b/kernel/patches-4.13.x/0001-vmbus-vmbus_open-reset-onchannel_callback-on-error.patch @@ -1,7 +1,7 @@ -From afc3bfbd26e3c4e03786eb8d8ad4d6905d03d7cd Mon Sep 17 00:00:00 2001 +From 255a4eb6b920f42018f05235f525b8c72624df62 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 5 May 2017 16:57:12 -0600 -Subject: [PATCH 01/14] vmbus: vmbus_open(): reset onchannel_callback on error +Subject: [PATCH 01/12] vmbus: vmbus_open(): reset onchannel_callback on error No real issue is observed without the patch, but let's add this just in case. @@ -17,10 +17,10 @@ Origin: git@github.com:dcui/linux.git 1 file changed, 2 insertions(+) diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c -index e57cc40cb768..6e172cdf42f7 100644 +index be3fccab07fe..4775616ec87f 100644 --- a/drivers/hv/channel.c +++ b/drivers/hv/channel.c -@@ -220,6 +220,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size, +@@ -225,6 +225,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size, get_order(send_ringbuffer_size + recv_ringbuffer_size)); error_set_chnstate: newchannel->state = CHANNEL_OPEN_STATE; diff --git a/kernel/patches-4.13.x/0002-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch b/kernel/patches-4.13.x/0002-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch index 7fc9cce62..13ea2f370 100644 --- a/kernel/patches-4.13.x/0002-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch +++ b/kernel/patches-4.13.x/0002-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch @@ -1,7 +1,7 @@ -From 6c4ae292478d47ceeb1fc134753e5c5eba52cf9a Mon Sep 17 00:00:00 2001 +From 9d372844cc64ec8921879c81beab83eeb4f8a05f Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 5 May 2017 16:57:20 -0600 -Subject: [PATCH 02/14] vmbus: remove "goto error_clean_msglist" in +Subject: [PATCH 02/12] vmbus: remove "goto error_clean_msglist" in vmbus_open() This is just a cleanup patch to simplify the code a little. @@ -18,10 +18,10 @@ Origin: git@github.com:dcui/linux.git 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c -index 6e172cdf42f7..42498ecd0f02 100644 +index 4775616ec87f..033100a1cd59 100644 --- a/drivers/hv/channel.c +++ b/drivers/hv/channel.c -@@ -180,17 +180,18 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size, +@@ -185,17 +185,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); @@ -46,7 +46,7 @@ index 6e172cdf42f7..42498ecd0f02 100644 if (newchannel->rescind) { err = -ENODEV; goto error_free_gpadl; -@@ -205,11 +206,6 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size, +@@ -210,11 +211,6 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size, kfree(open_info); return 0; diff --git a/kernel/patches-4.13.x/0004-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch b/kernel/patches-4.13.x/0003-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch similarity index 99% rename from kernel/patches-4.13.x/0004-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch rename to kernel/patches-4.13.x/0003-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch index d090133f1..f6c4f3b80 100644 --- a/kernel/patches-4.13.x/0004-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch +++ b/kernel/patches-4.13.x/0003-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch @@ -1,7 +1,7 @@ -From 09654d1ebca935056e36d651d10effed156651e3 Mon Sep 17 00:00:00 2001 +From 2d199886c8f5b1aaaf0beef6e4f14a871f98d834 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 5 May 2017 16:57:26 -0600 -Subject: [PATCH 04/14] hv_sock: implements Hyper-V transport for Virtual +Subject: [PATCH 03/12] hv_sock: implements Hyper-V transport for Virtual Sockets (AF_VSOCK) Hyper-V Sockets (hv_sock) supplies a byte-stream based communication diff --git a/kernel/patches-4.13.x/0003-vmbus-dynamically-enqueue-dequeue-a-channel-on-vmbus.patch b/kernel/patches-4.13.x/0003-vmbus-dynamically-enqueue-dequeue-a-channel-on-vmbus.patch deleted file mode 100644 index 7372cd5a1..000000000 --- a/kernel/patches-4.13.x/0003-vmbus-dynamically-enqueue-dequeue-a-channel-on-vmbus.patch +++ /dev/null @@ -1,189 +0,0 @@ -From d4de80e68b0268ed4630cb60ec186c980f63b052 Mon Sep 17 00:00:00 2001 -From: Dexuan Cui -Date: Fri, 5 May 2017 16:57:23 -0600 -Subject: [PATCH 03/14] vmbus: dynamically enqueue/dequeue a channel on - vmbus_open/close -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A just-closed channel may have a pending interrupt, and later when a new -channel with the same channel ID is not being fully initialized, the -pending interrupt of the previous channel with the same channel ID can run -the channel callback on the new channel data structure, causing a crash -of NULL pointer dereferencing. - -Normally it’s pretty hard to reproduce the race condition, but it can -indeed happen with specially-designed hv_sock stress test cases. - -Signed-off-by: Dexuan Cui -Reported-by: Rolf Neugebauer -Tested-by: Rolf Neugebauer -Cc: K. Y. Srinivasan -Cc: Haiyang Zhang -Cc: Stephen Hemminger -Origin: git@github.com:dcui/linux.git -(cherry picked from commit fdd8e16c855a6c7238c654d7217dcf51c5533307) ---- - drivers/hv/channel.c | 12 +++++++++--- - drivers/hv/channel_mgmt.c | 50 +++++++++++++++++++++-------------------------- - include/linux/hyperv.h | 3 +++ - 3 files changed, 34 insertions(+), 31 deletions(-) - -diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c -index 42498ecd0f02..d4243b5c39b7 100644 ---- a/drivers/hv/channel.c -+++ b/drivers/hv/channel.c -@@ -177,6 +177,8 @@ 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_percpu_channel_enq(newchannel); -+ - ret = vmbus_post_msg(open_msg, - sizeof(struct vmbus_channel_open_channel), true); - -@@ -189,23 +191,25 @@ 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_percpu_channel_deq(newchannel); - error_free_gpadl: - vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle); - kfree(open_info); -@@ -551,6 +555,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 037361158074..415c69aeb32c 100644 ---- a/drivers/hv/channel_mgmt.c -+++ b/drivers/hv/channel_mgmt.c -@@ -362,6 +362,17 @@ static void percpu_channel_enq(void *arg) - list_add_tail_rcu(&channel->percpu_list, &hv_cpu->chan_list); - } - -+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(); -+} -+ - static void percpu_channel_deq(void *arg) - { - struct vmbus_channel *channel = arg; -@@ -369,6 +380,17 @@ static void percpu_channel_deq(void *arg) - list_del_rcu(&channel->percpu_list); - } - -+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(); -+} -+ - - static void vmbus_release_relid(u32 relid) - { -@@ -389,15 +411,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)); - -- 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(); -- } -- - if (channel->primary_channel == NULL) { - list_del(&channel->listentry); - -@@ -490,16 +503,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel) - - init_vp_index(newchannel, dev_type); - -- 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(); -- } -- - /* - * This state is used to indicate a successful open - * so that when we do close the channel normally, we -@@ -549,15 +552,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel) - list_del(&newchannel->listentry); - mutex_unlock(&vmbus_connection.channel_mutex); - -- 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(); -- } -- - vmbus_release_relid(newchannel->offermsg.child_relid); - - err_free_chan: -diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h -index b7d7bbec74e0..f5d3e8c01401 100644 ---- a/include/linux/hyperv.h -+++ b/include/linux/hyperv.h -@@ -1453,6 +1453,9 @@ extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, - const int *srv_version, int srv_vercnt, - int *nego_fw_version, int *nego_srv_version); - -+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.11.1 - diff --git a/kernel/patches-4.13.x/0005-VMCI-only-try-to-load-on-VMware-hypervisor.patch b/kernel/patches-4.13.x/0004-VMCI-only-try-to-load-on-VMware-hypervisor.patch similarity index 94% rename from kernel/patches-4.13.x/0005-VMCI-only-try-to-load-on-VMware-hypervisor.patch rename to kernel/patches-4.13.x/0004-VMCI-only-try-to-load-on-VMware-hypervisor.patch index 556a5b5c5..b7fc1f829 100644 --- a/kernel/patches-4.13.x/0005-VMCI-only-try-to-load-on-VMware-hypervisor.patch +++ b/kernel/patches-4.13.x/0004-VMCI-only-try-to-load-on-VMware-hypervisor.patch @@ -1,7 +1,7 @@ -From 4616a0d0564ffdc6899cc7f643bf8cde5af6662e Mon Sep 17 00:00:00 2001 +From fe24104d463f6c66ba20d6637bcd8e64ea3d91f4 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 5 May 2017 16:57:29 -0600 -Subject: [PATCH 05/14] VMCI: only try to load on VMware hypervisor +Subject: [PATCH 04/12] VMCI: only try to load on VMware hypervisor Without the patch, vmw_vsock_vmci_transport.ko and vmw_vmci.ko can automatically load when an application creates an AF_VSOCK socket. diff --git a/kernel/patches-4.13.x/0006-hv_sock-add-the-support-of-auto-loading.patch b/kernel/patches-4.13.x/0005-hv_sock-add-the-support-of-auto-loading.patch similarity index 88% rename from kernel/patches-4.13.x/0006-hv_sock-add-the-support-of-auto-loading.patch rename to kernel/patches-4.13.x/0005-hv_sock-add-the-support-of-auto-loading.patch index 86f2ec936..18b62e335 100644 --- a/kernel/patches-4.13.x/0006-hv_sock-add-the-support-of-auto-loading.patch +++ b/kernel/patches-4.13.x/0005-hv_sock-add-the-support-of-auto-loading.patch @@ -1,7 +1,7 @@ -From 0df1846aa21a2b76746308be33b45f552c13505a Mon Sep 17 00:00:00 2001 +From 3846240ba100e7178bfffe1d7a20382167764a2a Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 5 May 2017 16:57:35 -0600 -Subject: [PATCH 06/14] hv_sock: add the support of auto-loading +Subject: [PATCH 05/12] hv_sock: add the support of auto-loading After we disable VMWare virtual sockets driver's auto-loading on Hyper-V, we can enable hv_sock's auto-loading now. diff --git a/kernel/patches-4.13.x/0007-tools-hv_sock-2-simple-test-cases.patch b/kernel/patches-4.13.x/0006-tools-hv_sock-2-simple-test-cases.patch similarity index 98% rename from kernel/patches-4.13.x/0007-tools-hv_sock-2-simple-test-cases.patch rename to kernel/patches-4.13.x/0006-tools-hv_sock-2-simple-test-cases.patch index 25817d650..f02bdf6b8 100644 --- a/kernel/patches-4.13.x/0007-tools-hv_sock-2-simple-test-cases.patch +++ b/kernel/patches-4.13.x/0006-tools-hv_sock-2-simple-test-cases.patch @@ -1,7 +1,7 @@ -From e90c31a913ab07ff70401c8bf5dab93ed901b400 Mon Sep 17 00:00:00 2001 +From 0e575b9966945fb1132bd13c7a3c69330c14166e Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 5 May 2017 18:52:02 -0600 -Subject: [PATCH 07/14] tools: hv_sock: 2 simple test cases. +Subject: [PATCH 06/12] tools: hv_sock: 2 simple test cases. Please read this document first: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service diff --git a/kernel/patches-4.13.x/0008-hvsock-fix-a-race-in-hvs_stream_dequeue.patch b/kernel/patches-4.13.x/0007-hvsock-fix-a-race-in-hvs_stream_dequeue.patch similarity index 95% rename from kernel/patches-4.13.x/0008-hvsock-fix-a-race-in-hvs_stream_dequeue.patch rename to kernel/patches-4.13.x/0007-hvsock-fix-a-race-in-hvs_stream_dequeue.patch index 511b491c4..3aef08c6e 100644 --- a/kernel/patches-4.13.x/0008-hvsock-fix-a-race-in-hvs_stream_dequeue.patch +++ b/kernel/patches-4.13.x/0007-hvsock-fix-a-race-in-hvs_stream_dequeue.patch @@ -1,7 +1,7 @@ -From cff523818d1356536f2dea650508dfdd1e19df11 Mon Sep 17 00:00:00 2001 +From b5b86d3b2b25b051b4cef6d2a3be970726111da1 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Tue, 16 May 2017 22:14:03 +0800 -Subject: [PATCH 08/14] hvsock: fix a race in hvs_stream_dequeue() +Subject: [PATCH 07/12] hvsock: fix a race in hvs_stream_dequeue() If hv_pkt_iter_next() returns a non-NULL pointer, we must update the recv_data_len/data_off info, otherwise the received data will diff --git a/kernel/patches-4.13.x/0009-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch b/kernel/patches-4.13.x/0008-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch similarity index 92% rename from kernel/patches-4.13.x/0009-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch rename to kernel/patches-4.13.x/0008-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch index 29802a859..f951c2202 100644 --- a/kernel/patches-4.13.x/0009-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch +++ b/kernel/patches-4.13.x/0008-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch @@ -1,7 +1,7 @@ -From 49dd71766ef1675b56ec02ff42e222308edd8a52 Mon Sep 17 00:00:00 2001 +From 2cf5773ab1091bc4e575ba1e8d861ae89bdf1f9e Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 19 May 2017 21:49:59 +0800 -Subject: [PATCH 09/14] hvsock: fix vsock_dequeue/enqueue_accept race +Subject: [PATCH 08/12] hvsock: fix vsock_dequeue/enqueue_accept race Signed-off-by: Dexuan Cui Origin: git@github.com:dcui/linux.git diff --git a/kernel/patches-4.13.x/0010-hv-sock-a-temporary-workaround-for-the-pending_send_.patch b/kernel/patches-4.13.x/0009-hv-sock-a-temporary-workaround-for-the-pending_send_.patch similarity index 97% rename from kernel/patches-4.13.x/0010-hv-sock-a-temporary-workaround-for-the-pending_send_.patch rename to kernel/patches-4.13.x/0009-hv-sock-a-temporary-workaround-for-the-pending_send_.patch index 486a01654..feee46e85 100644 --- a/kernel/patches-4.13.x/0010-hv-sock-a-temporary-workaround-for-the-pending_send_.patch +++ b/kernel/patches-4.13.x/0009-hv-sock-a-temporary-workaround-for-the-pending_send_.patch @@ -1,7 +1,7 @@ -From 3c6e2fa8d4013801a2721048b106aedc077e47cd Mon Sep 17 00:00:00 2001 +From d449661db47a2dc22437d30bbf5e9354344a0dd3 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Wed, 21 Jun 2017 22:30:42 +0800 -Subject: [PATCH 10/14] hv-sock: a temporary workaround for the +Subject: [PATCH 09/12] hv-sock: a temporary workaround for the pending_send_size issue While I'm trying to find out the root cause, I believe this can work diff --git a/kernel/patches-4.13.x/0012-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch b/kernel/patches-4.13.x/0010-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch similarity index 89% rename from kernel/patches-4.13.x/0012-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch rename to kernel/patches-4.13.x/0010-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch index 09bec5f84..bd2bc5f4f 100644 --- a/kernel/patches-4.13.x/0012-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch +++ b/kernel/patches-4.13.x/0010-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch @@ -1,7 +1,7 @@ -From a277fb91ada318ee1577dfbcbc1f6c2e9c0d9804 Mon Sep 17 00:00:00 2001 +From a0be18ac0d4976c54d4c4359a4d0289cf88bbf4c Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 7 Jul 2017 09:15:29 +0800 -Subject: [PATCH 12/14] hv-sock: avoid double FINs if shutdown() is called +Subject: [PATCH 10/12] hv-sock: avoid double FINs if shutdown() is called The host expects a single FIN. diff --git a/kernel/patches-4.13.x/0013-ext4-fix-fault-handling-when-mounted-with-o-dax-ro.patch b/kernel/patches-4.13.x/0011-ext4-fix-fault-handling-when-mounted-with-o-dax-ro.patch similarity index 94% rename from kernel/patches-4.13.x/0013-ext4-fix-fault-handling-when-mounted-with-o-dax-ro.patch rename to kernel/patches-4.13.x/0011-ext4-fix-fault-handling-when-mounted-with-o-dax-ro.patch index f49677e4c..4d1768e4e 100644 --- a/kernel/patches-4.13.x/0013-ext4-fix-fault-handling-when-mounted-with-o-dax-ro.patch +++ b/kernel/patches-4.13.x/0011-ext4-fix-fault-handling-when-mounted-with-o-dax-ro.patch @@ -1,7 +1,7 @@ -From 7fc252ce8715b7edfb0847922f55ff3011506603 Mon Sep 17 00:00:00 2001 +From 22b335999bba926ec0c168a4b8ebd9ab388853e4 Mon Sep 17 00:00:00 2001 From: Randy Dodgen Date: Thu, 24 Aug 2017 15:26:01 -0400 -Subject: [PATCH 13/14] ext4: fix fault handling when mounted with -o dax,ro +Subject: [PATCH 11/12] ext4: fix fault handling when mounted with -o dax,ro If an ext4 filesystem is mounted with both the DAX and read-only options, executables on that filesystem will fail to start (claiming diff --git a/kernel/patches-4.13.x/0011-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch b/kernel/patches-4.13.x/0011-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch deleted file mode 100644 index dc138f104..000000000 --- a/kernel/patches-4.13.x/0011-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 1a6148d3c58ce10520748262be0da5aaf283a3f8 Mon Sep 17 00:00:00 2001 -From: Dexuan Cui -Date: Wed, 28 Jun 2017 23:50:38 +0800 -Subject: [PATCH 11/14] vmbus: fix the missed signaling in hv_signal_on_read() - -There is an off-by-one bug here, which can cause host-to-guest write to stall. - -When cur_write_sz == pending_sz, we shouldn't signal the host because it's -meaningless: the ring mustn't be 100% full. - -But when cached_write_sz == pending_sz, we must signal the host. - -Signed-off-by: John Starks -Signed-off-by: Dexuan Cui -Origin: git@github.com:dcui/linux.git -(cherry picked from commit 02d07a9dcdb042f33248fd3aeb1e5c2eca6d3d49) ---- - include/linux/hyperv.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h -index f5d3e8c01401..cc28cd20256f 100644 ---- a/include/linux/hyperv.h -+++ b/include/linux/hyperv.h -@@ -1517,11 +1517,11 @@ static inline void hv_signal_on_read(struct vmbus_channel *channel) - - cur_write_sz = hv_get_bytes_to_write(rbi); - -- if (cur_write_sz < pending_sz) -+ if (cur_write_sz <= pending_sz) - return; - - cached_write_sz = hv_get_cached_bytes_to_write(rbi); -- if (cached_write_sz < pending_sz) -+ if (cached_write_sz <= pending_sz) - vmbus_setevent(channel); - } - --- -2.11.1 - diff --git a/kernel/patches-4.13.x/0014-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch b/kernel/patches-4.13.x/0012-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch similarity index 84% rename from kernel/patches-4.13.x/0014-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch rename to kernel/patches-4.13.x/0012-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch index b151d7433..79fd0458a 100644 --- a/kernel/patches-4.13.x/0014-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch +++ b/kernel/patches-4.13.x/0012-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch @@ -1,7 +1,7 @@ -From 349c3d4c65afc5ddec83ab0746d7b9419396b5e1 Mon Sep 17 00:00:00 2001 +From a6fc1687fbd218542285c2d77a49ff88a3cb100c Mon Sep 17 00:00:00 2001 From: Cheng-mean Liu Date: Tue, 11 Jul 2017 16:58:26 -0700 -Subject: [PATCH 14/14] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB +Subject: [PATCH 12/12] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB (page size) Signed-off-by: Cheng-mean Liu diff --git a/kernel/patches-4.9.x/0001-tools-build-Add-test-for-sched_getcpu.patch b/kernel/patches-4.9.x/0001-tools-build-Add-test-for-sched_getcpu.patch index 0beff722c..861d07d5e 100644 --- a/kernel/patches-4.9.x/0001-tools-build-Add-test-for-sched_getcpu.patch +++ b/kernel/patches-4.9.x/0001-tools-build-Add-test-for-sched_getcpu.patch @@ -1,4 +1,4 @@ -From eeffae14656e233080aa6d7e91bedac5697573d7 Mon Sep 17 00:00:00 2001 +From 07cc90bf689d8d1446f19af31f419e96b6aae8d1 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Thu, 2 Mar 2017 12:55:49 -0300 Subject: [PATCH 01/13] tools build: Add test for sched_getcpu() diff --git a/kernel/patches-4.9.x/0002-perf-jit-Avoid-returning-garbage-for-a-ret-variable.patch b/kernel/patches-4.9.x/0002-perf-jit-Avoid-returning-garbage-for-a-ret-variable.patch index a44e857a2..e0960445d 100644 --- a/kernel/patches-4.9.x/0002-perf-jit-Avoid-returning-garbage-for-a-ret-variable.patch +++ b/kernel/patches-4.9.x/0002-perf-jit-Avoid-returning-garbage-for-a-ret-variable.patch @@ -1,4 +1,4 @@ -From 3be4800d1233f8a6da45b0b26e18b4aab5868681 Mon Sep 17 00:00:00 2001 +From c1bc306f2a98bc201c155b7e1e93574ab9bb42f2 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Thu, 13 Oct 2016 17:12:35 -0300 Subject: [PATCH 02/13] perf jit: Avoid returning garbage for a ret variable diff --git a/kernel/patches-4.9.x/0003-hv_sock-introduce-Hyper-V-Sockets.patch b/kernel/patches-4.9.x/0003-hv_sock-introduce-Hyper-V-Sockets.patch index 4b9defac9..9f1455eff 100644 --- a/kernel/patches-4.9.x/0003-hv_sock-introduce-Hyper-V-Sockets.patch +++ b/kernel/patches-4.9.x/0003-hv_sock-introduce-Hyper-V-Sockets.patch @@ -1,4 +1,4 @@ -From e8317241d859e11393a719b80e1023ae182d8d42 Mon Sep 17 00:00:00 2001 +From c6eb46c35ff75022c19211cd1236cb0be75456cb Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Sat, 23 Jul 2016 01:35:51 +0000 Subject: [PATCH 03/13] hv_sock: introduce Hyper-V Sockets diff --git a/kernel/patches-4.9.x/0004-vmbus-Don-t-spam-the-logs-with-unknown-GUIDs.patch b/kernel/patches-4.9.x/0004-vmbus-Don-t-spam-the-logs-with-unknown-GUIDs.patch index 149fc328f..e4e8cf482 100644 --- a/kernel/patches-4.9.x/0004-vmbus-Don-t-spam-the-logs-with-unknown-GUIDs.patch +++ b/kernel/patches-4.9.x/0004-vmbus-Don-t-spam-the-logs-with-unknown-GUIDs.patch @@ -1,4 +1,4 @@ -From 2ce56ee19a4571830531480284ae7edf5175ebf4 Mon Sep 17 00:00:00 2001 +From 9ba10da496908d0c21d07639e07dba839935522f Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Mon, 23 May 2016 18:55:45 +0100 Subject: [PATCH 04/13] vmbus: Don't spam the logs with unknown GUIDs diff --git a/kernel/patches-4.9.x/0005-Drivers-hv-utils-Fix-the-mapping-between-host-versio.patch b/kernel/patches-4.9.x/0005-Drivers-hv-utils-Fix-the-mapping-between-host-versio.patch index e689375e7..218b35889 100644 --- a/kernel/patches-4.9.x/0005-Drivers-hv-utils-Fix-the-mapping-between-host-versio.patch +++ b/kernel/patches-4.9.x/0005-Drivers-hv-utils-Fix-the-mapping-between-host-versio.patch @@ -1,4 +1,4 @@ -From db7efa09d278e83d2cab5cbaa44a8193372ef82a Mon Sep 17 00:00:00 2001 +From bcbd97d95f015dde8d730206bc6cfcc58d1457c9 Mon Sep 17 00:00:00 2001 From: Alex Ng Date: Sun, 6 Nov 2016 13:14:07 -0800 Subject: [PATCH 05/13] Drivers: hv: utils: Fix the mapping between host diff --git a/kernel/patches-4.9.x/0006-Drivers-hv-vss-Improve-log-messages.patch b/kernel/patches-4.9.x/0006-Drivers-hv-vss-Improve-log-messages.patch index dad6b1027..6734b9bb7 100644 --- a/kernel/patches-4.9.x/0006-Drivers-hv-vss-Improve-log-messages.patch +++ b/kernel/patches-4.9.x/0006-Drivers-hv-vss-Improve-log-messages.patch @@ -1,4 +1,4 @@ -From c9acbfcd8dbba557f5a40fc14f43517bf2490171 Mon Sep 17 00:00:00 2001 +From 513561517efb57638fa9819aa24f715639be6595 Mon Sep 17 00:00:00 2001 From: Alex Ng Date: Sun, 6 Nov 2016 13:14:10 -0800 Subject: [PATCH 06/13] Drivers: hv: vss: Improve log messages. diff --git a/kernel/patches-4.9.x/0007-Drivers-hv-vss-Operation-timeouts-should-match-host-.patch b/kernel/patches-4.9.x/0007-Drivers-hv-vss-Operation-timeouts-should-match-host-.patch index 53cf6260f..051c6fdb2 100644 --- a/kernel/patches-4.9.x/0007-Drivers-hv-vss-Operation-timeouts-should-match-host-.patch +++ b/kernel/patches-4.9.x/0007-Drivers-hv-vss-Operation-timeouts-should-match-host-.patch @@ -1,4 +1,4 @@ -From 0f643631c5c166818d9fc63ea082d785027a9ec3 Mon Sep 17 00:00:00 2001 +From 62ab4bab28c89b21dce9bba98cf1f493aedffa5c Mon Sep 17 00:00:00 2001 From: Alex Ng Date: Sun, 6 Nov 2016 13:14:11 -0800 Subject: [PATCH 07/13] Drivers: hv: vss: Operation timeouts should match host diff --git a/kernel/patches-4.9.x/0008-Drivers-hv-vmbus-Use-all-supported-IC-versions-to-ne.patch b/kernel/patches-4.9.x/0008-Drivers-hv-vmbus-Use-all-supported-IC-versions-to-ne.patch index ec21c8340..b1d9ae5a0 100644 --- a/kernel/patches-4.9.x/0008-Drivers-hv-vmbus-Use-all-supported-IC-versions-to-ne.patch +++ b/kernel/patches-4.9.x/0008-Drivers-hv-vmbus-Use-all-supported-IC-versions-to-ne.patch @@ -1,4 +1,4 @@ -From 8f5a883d54a08445a37f250e8d596f1721980719 Mon Sep 17 00:00:00 2001 +From 162dd9275b4ce7ffe7e7e0d3dcdb9662a189309c Mon Sep 17 00:00:00 2001 From: Alex Ng Date: Sat, 28 Jan 2017 12:37:17 -0700 Subject: [PATCH 08/13] Drivers: hv: vmbus: Use all supported IC versions to diff --git a/kernel/patches-4.9.x/0009-Drivers-hv-Log-the-negotiated-IC-versions.patch b/kernel/patches-4.9.x/0009-Drivers-hv-Log-the-negotiated-IC-versions.patch index e8d7abb7f..448cabb49 100644 --- a/kernel/patches-4.9.x/0009-Drivers-hv-Log-the-negotiated-IC-versions.patch +++ b/kernel/patches-4.9.x/0009-Drivers-hv-Log-the-negotiated-IC-versions.patch @@ -1,4 +1,4 @@ -From 34d1a3e3cb0e79f1c87e0baeac05daa7c55578e3 Mon Sep 17 00:00:00 2001 +From b7524ea7d09a2b2ff38adc898e1c34a12ca07e6f Mon Sep 17 00:00:00 2001 From: Alex Ng Date: Sat, 28 Jan 2017 12:37:18 -0700 Subject: [PATCH 09/13] Drivers: hv: Log the negotiated IC versions. diff --git a/kernel/patches-4.9.x/0010-vmbus-fix-missed-ring-events-on-boot.patch b/kernel/patches-4.9.x/0010-vmbus-fix-missed-ring-events-on-boot.patch index 14bb6d74b..0bfc5696f 100644 --- a/kernel/patches-4.9.x/0010-vmbus-fix-missed-ring-events-on-boot.patch +++ b/kernel/patches-4.9.x/0010-vmbus-fix-missed-ring-events-on-boot.patch @@ -1,4 +1,4 @@ -From 0fd91b71d003c0073084085502e6a437944190fa Mon Sep 17 00:00:00 2001 +From 1e50301f804c4d61db165693a184a919939e6153 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Sun, 26 Mar 2017 16:42:20 +0800 Subject: [PATCH 10/13] vmbus: fix missed ring events on boot diff --git a/kernel/patches-4.9.x/0011-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch b/kernel/patches-4.9.x/0011-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch index 5376afc28..54c6eb4c4 100644 --- a/kernel/patches-4.9.x/0011-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch +++ b/kernel/patches-4.9.x/0011-vmbus-remove-goto-error_clean_msglist-in-vmbus_open.patch @@ -1,4 +1,4 @@ -From 5052d94e452f9ec0da965d3c7ddbc699714ac3a1 Mon Sep 17 00:00:00 2001 +From 89c7fc409cc898f025963d0056b6ddf9a23a6c68 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Wed, 29 Mar 2017 18:37:10 +0800 Subject: [PATCH 11/13] vmbus: remove "goto error_clean_msglist" in diff --git a/kernel/patches-4.9.x/0012-vmbus-dynamically-enqueue-dequeue-the-channel-on-vmb.patch b/kernel/patches-4.9.x/0012-vmbus-dynamically-enqueue-dequeue-the-channel-on-vmb.patch index f44b13c4f..ea7f5d36f 100644 --- a/kernel/patches-4.9.x/0012-vmbus-dynamically-enqueue-dequeue-the-channel-on-vmb.patch +++ b/kernel/patches-4.9.x/0012-vmbus-dynamically-enqueue-dequeue-the-channel-on-vmb.patch @@ -1,4 +1,4 @@ -From 45e38a960999b7fac67366a5166fac4247312dd5 Mon Sep 17 00:00:00 2001 +From 2981fbdae254370cd9ccc4a344568300e0c59c7a Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Fri, 24 Mar 2017 20:53:18 +0800 Subject: [PATCH 12/13] vmbus: dynamically enqueue/dequeue the channel on diff --git a/kernel/patches-4.9.x/0013-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch b/kernel/patches-4.9.x/0013-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch index 96d6bc65b..eb1842ea5 100644 --- a/kernel/patches-4.9.x/0013-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch +++ b/kernel/patches-4.9.x/0013-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch @@ -1,4 +1,4 @@ -From c0555b07d6fe1414bfcfa6251ce99288b8760ba1 Mon Sep 17 00:00:00 2001 +From e4956e317bf21890abd2ffe2b9d66b6a177712f0 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Thu, 6 Jul 2017 21:37:11 +0000 Subject: [PATCH 13/13] vmbus: fix the missed signaling in hv_signal_on_read()