Changes since RFC [1]: - Rebase on hyperv-fixes (although more likely -next material) - Fix handling of messages with transaction ID of 0 - Avoid reading trans_id from the ring buffer - Move hv_pci_request_addr_match()&co. to VMbus - Introduce primitives to lock and unlock the requestor - Improve comments and log messages The series got bigger (mainly due to a certain re-factoring in VMbus): the hv_pci changes are in patches #2 and #6. Let me stress that the "PCI: hv" patches and the "Drivers: hv: vmbus" patches below are inter-dependent. [1] https://lkml.kernel.org/r/20220328144244.100228-1-parri.andrea@xxxxxxxxx Thanks, Andrea Andrea Parri (Microsoft) (6): Drivers: hv: vmbus: Fix handling of messages with transaction ID of zero PCI: hv: Use vmbus_requestor to generate transaction IDs for VMbus hardening Drivers: hv: vmbus: Introduce vmbus_sendpacket_getid() Drivers: hv: vmbus: Introduce vmbus_request_addr_match() Drivers: hv: vmbus: Introduce {lock,unlock}_requestor() PCI: hv: Fix synchronization between channel callback and hv_compose_msi_msg() drivers/hv/channel.c | 116 +++++++++++++++++++++------- drivers/hv/hyperv_vmbus.h | 2 +- drivers/hv/ring_buffer.c | 14 +++- drivers/pci/controller/pci-hyperv.c | 68 ++++++++++++---- include/linux/hyperv.h | 27 +++++++ 5 files changed, 179 insertions(+), 48 deletions(-) -- 2.25.1