summaryrefslogtreecommitdiff
path: root/drivers/vme/vme.c
diff options
context:
space:
mode:
authorMichael Kelley <mhkelley@outlook.com>2018-03-05 08:24:08 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-03-06 20:52:59 +0300
commit655296c8bbeffcf020558c4455305d597a73bde1 (patch)
treeac2051e95a2b49c28134195991230702aa06e666 /drivers/vme/vme.c
parent661e50bc853209e41a5c14a290ca4decc43cbfd1 (diff)
downloadlinux-655296c8bbeffcf020558c4455305d597a73bde1.tar.xz
Drivers: hv: vmbus: Fix ring buffer signaling
Fix bugs in signaling the Hyper-V host when freeing space in the host->guest ring buffer: 1. The interrupt_mask must not be used to determine whether to signal on the host->guest ring buffer 2. The ring buffer write_index must be read (via hv_get_bytes_to_write) *after* pending_send_sz is read in order to avoid a race condition 3. Comparisons with pending_send_sz must treat the "equals" case as not-enough-space 4. Don't signal if the pending_send_sz feature is not present. Older versions of Hyper-V that don't implement this feature will poll. Fixes: 03bad714a161 ("vmbus: more host signalling avoidance") Cc: Stable <stable@vger.kernel.org> # 4.14 and above Signed-off-by: Michael Kelley <mhkelley@outlook.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/vme/vme.c')
0 files changed, 0 insertions, 0 deletions