From: Greg Kroah-Hartman Date: Tue, 24 Oct 2017 12:16:57 +0000 (+0200) Subject: 4.9-stable patches X-Git-Tag: v3.18.78~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bba6645d7639bd6289f6705fc98c9f6f5e1019bb;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: vmbus-fix-missing-signaling-in-hv_signal_on_read.patch --- diff --git a/queue-4.9/series b/queue-4.9/series index 78c20e9345c..302aa6f59d4 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -29,3 +29,4 @@ keys-encrypted-fix-dereference-of-null-user_key_payload.patch lib-digsig-fix-dereference-of-null-user_key_payload.patch keys-don-t-let-add_key-update-an-uninstantiated-key.patch pkcs7-prevent-null-pointer-dereference-since-sinfo-is-not-always-set.patch +vmbus-fix-missing-signaling-in-hv_signal_on_read.patch diff --git a/queue-4.9/vmbus-fix-missing-signaling-in-hv_signal_on_read.patch b/queue-4.9/vmbus-fix-missing-signaling-in-hv_signal_on_read.patch new file mode 100644 index 00000000000..196787ddf7b --- /dev/null +++ b/queue-4.9/vmbus-fix-missing-signaling-in-hv_signal_on_read.patch @@ -0,0 +1,47 @@ +From decui@microsoft.com Tue Oct 24 14:15:52 2017 +From: Dexuan Cui +Date: Thu, 19 Oct 2017 18:07:35 +0000 +Subject: vmbus: fix missing signaling in hv_signal_on_read() +To: "gregkh@linuxfoundation.org" , "stable@vger.kernel.org" +Cc: KY Srinivasan , Stephen Hemminger , Stephen Hemminger +Message-ID: + +From: Dexuan Cui + +[Fixes upstream in a much larger set of patches that are not worth backporting +to 4.9 - gregkh] + +When the space available before start of reading (cached_write_sz) +is the same as the host required space (pending_sz), we need to +still signal host. + +Fixes: 433e19cf33d3 ("Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()") + +Signed-off-by: John Starks +Signed-off-by: Dexuan Cui +Signed-off-by: Stephen Hemminger +Signed-off-by: Greg Kroah-Hartman +--- + +Hi Greg, as we discussed, I'm resending this patch, and please only apply +it to linux-4.9.y (i.e. v4.9.57 as of today). + + include/linux/hyperv.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/include/linux/hyperv.h ++++ b/include/linux/hyperv.h +@@ -1521,11 +1521,11 @@ static inline void hv_signal_on_read(st + + 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); + + return;