[Hyper-V] Drivers: hv: vmbus: Fix ring buffer signaling
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-azure (Ubuntu) |
Fix Released
|
Undecided
|
Marcelo Cerri | ||
Xenial |
Fix Released
|
Undecided
|
Marcelo Cerri | ||
Bionic |
Fix Released
|
Undecided
|
Marcelo Cerri |
Bug Description
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_
*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")
This patch is on its way upstream but has not yet been accepted into char-misc. It should apply to 4.4+ kernels that have taken 03bad714a161
CVE References
tags: | added: patch |
Changed in linux-azure (Ubuntu): | |
status: | New → Confirmed |
Changed in linux-azure (Ubuntu Xenial): | |
status: | New → In Progress |
assignee: | nobody → Marcelo Cerri (mhcerri) |
Changed in linux-azure (Ubuntu Bionic): | |
assignee: | nobody → Marcelo Cerri (mhcerri) |
Changed in linux-azure (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
https:/ /lists. ubuntu. com/archives/ kernel- team/2018- February/ 090218. html /lists. ubuntu. com/archives/ kernel- team/2018- February/ 090219. html /lists. ubuntu. com/archives/ kernel- team/2018- February/ 090220. html
https:/
https:/