mirror of https://github.com/torvalds/linux.git
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:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| channel.c | ||
| channel_mgmt.c | ||
| connection.c | ||
| hv.c | ||
| hv_balloon.c | ||
| hv_fcopy.c | ||
| hv_kvp.c | ||
| hv_snapshot.c | ||
| hv_trace.c | ||
| hv_trace.h | ||
| hv_util.c | ||
| hv_utils_transport.c | ||
| hv_utils_transport.h | ||
| hyperv_vmbus.h | ||
| ring_buffer.c | ||
| vmbus_drv.c | ||