[Pull Request] [impish/linux-azure] Azure: Update Hyperv to 5.17
Tim Gardner
tim.gardner at canonical.com
Tue Mar 29 18:16:08 UTC 2022
BugLink: https://bugs.launchpad.net/bugs/1961329
SRU Justification
[Impact]
Microsoft has requested these commits be present in all Azure tuned kernels:
ac0f7d42584125dab8039e60ab4ade48cc2db61c Drivers: hv: copy from message
page only what's needed
a276463b7aeb6186e7e4315cccb032773fb31b5d Drivers: hv: allocate the exact
needed memory for messages
5cc415001bca8fe0e3f0ee6d58a953a314dd9751 Drivers: hv: avoid passing
opaque pointer to vmbus_onmessage()
b0a284dc65b401a508dc2c5ed7d465884220f607 Drivers: hv: make sure that
'struct vmbus_channel_message_header' compiles correctly
52c7803f9bd4b1f0ac6e2e3e6051415198cc06bd Drivers: hv: check VMBus
messages lengths
06caa778d8b2fbcb4ac3878751e39d116424ba9b hv_utils: Add validation for
untrusted Hyper-V values
e99c4afbee07e9323e9191a20b24d74dbf815bdf Drivers: hv: vmbus: Initialize
memory to be sent to the host
fe8c1b18a27de4d6ca5d99b3ffb3125dc69a5b76 Drivers: hv: vmbus: Copy the
hv_message in vmbus_on_msg_dpc()
e3fa4b747f085d2cda09bba0533b86fa76038635 Drivers: hv: vmbus: Avoid
use-after-free in vmbus_onoffer_rescind()
e4d221b42354b2e2ddb9187a806afb651eee2cda Drivers: hv: vmbus: Resolve
race condition in vmbus_onoffer_rescind()
adae1e931acd8b430d31141a283ea06d4b705417 Drivers: hv: vmbus: Copy
packets sent by Hyper-V out of the ring buffer
9d68cd9120e4e3af38f843e165631c323b86b4e4 hv_utils: Set the maximum
packet size for VSS driver to the length of the receive buffer
f1940d4e9cbe6208e7e77e433c587af108152a17 Drivers: hv: vmbus: Fix kernel
crash upon unbinding a device from uio_hv_generic driver
007faec014cb5d26983c1f86fd08c6539b41392e x86/sev: Expose
sev_es_ghcb_hv_call() for use by HyperV
0cc4f6d9f0b9f20f3f1e1149bdb6737c0b4e134a x86/hyperv: Initialize GHCB
page in Isolation VM
af788f355e343373490b7d2e361016e7c24a0ffa x86/hyperv: Initialize shared
memory boundary in the Isolation VM.
810a521265023a1d5c6c081ea2d216bc63d422f5 x86/hyperv: Add new hvcall
guest address host visibility support
d4dccf353db80e209f262e3973c834e6e48ba9a9 Drivers: hv: vmbus: Mark vmbus
ring buffer visible to host in Isolation VM
faff44069ff538ccdfef187c4d7ec83d22dfb3a4 x86/hyperv: Add Write/Read MSR
registers via ghcb page
20c89a559e00dfe352b73e867211a669113ae881 x86/hyperv: Add ghcb hvcall
support for SNP VM
f2f136c05fb6093818a3b3fefcba46231ac66a62 Drivers: hv: vmbus: Add SNP
support for VMbus channel initiate message
9a8797722e4239242d0cb4cc4baa805df6ac979e Drivers: hv: vmbus: Initialize
VMbus ring buffer for Isolation VM
1a5e91d8375fc8369207cc0b9894a324f2bbf1d9 swiotlb: Add swiotlb bounce
buffer remap function for HV IVM
c789b90a69045d1924bc0802ae0dce2bba05a04e x86/hyper-v: Add hyperv
Isolation VM check in the cc_platform_has()
062a5c4260cdb734a4727230c58e38accf413315 hyper-v: Enable swiotlb bounce
buffer for Isolation VM
743b237c3a7b0f5b44aa704aae8a1058877b6322 scsi: storvsc: Add Isolation VM
support for storvsc driver
846da38de0e8224f2f94b885125cf1fd2d7b0d39 net: netvsc: Add Isolation VM
support for netvsc driver
2deb55d9f57bb7a877c0d77115cc4077e1e974ff swiotlb: Add CONFIG_HAS_IOMEM
check around swiotlb_mem_remap()
6a27e396ebb149fc47baccc1957a7a9dd70049a7 Drivers: hv: vmbus: Initialize
request offers message for Isolation VM
4eea5332d67d8ae6ba5717ec0f4e671fdbd222e7 scsi: storvsc: Fix
storvsc_queuecommand() memory leak
96d9d1fa5cd505078534113308ced0aa56d8da58 Drivers: hv: balloon: account
for vmbus packet header in max_pkt_size
[Test Plan]
Microsoft tested
[Where things could go wrong]
Hyper-V guests may not work correctly.
[Other Info]
SF: #00323683
The following changes since commit 4fb09df22a81fca2cc90aeee5e1551478d00b7f7:
UBUNTU: Ubuntu-azure-5.13.0-1021.24 (2022-03-28 15:40:31 -0500)
are available in the Git repository at:
git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/impish
8af68eda6480024a9a905ca36dc43e3cea922e7a
for you to fetch changes up to 8af68eda6480024a9a905ca36dc43e3cea922e7a:
x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64
(2022-03-29 12:00:45 -0600)
----------------------------------------------------------------
Andrea Parri (Microsoft) (2):
scsi: storvsc: Use blk_mq_unique_tag() to generate requestIDs
scsi: storvsc: Fix validation for unsolicited incoming packets
Andres Beltran (1):
Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring
buffer
Dexuan Cui (1):
x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64
Juan Vazquez (2):
Drivers: hv: vmbus: Initialize request offers message for
Isolation VM
scsi: storvsc: Fix storvsc_queuecommand() memory leak
Tianyu Lan (15):
x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV
x86/hyperv: Initialize GHCB page in Isolation VM
x86/hyperv: Initialize shared memory boundary in the Isolation VM.
x86/hyperv: Add new hvcall guest address host visibility support
Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in
Isolation VM
x86/hyperv: Add Write/Read MSR registers via ghcb page
x86/hyperv: Add ghcb hvcall support for SNP VM
Drivers: hv: vmbus: Add SNP support for VMbus channel initiate
message
Drivers: hv: vmbus: Initialize VMbus ring buffer for Isolation VM
swiotlb: Add swiotlb bounce buffer remap function for HV IVM
x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has()
hyper-v: Enable swiotlb bounce buffer for Isolation VM
scsi: storvsc: Add Isolation VM support for storvsc driver
net: netvsc: Add Isolation VM support for netvsc driver
Netvsc: Call hv_unmap_memory() in the netvsc_device_remove()
Tom Lendacky (1):
x86/sev: Replace occurrences of sev_active() with cc_platform_has()
Vitaly Kuznetsov (2):
hv_utils: Set the maximum packet size for VSS driver to the
length of the receive buffer
Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from
uio_hv_generic driver
Wanpeng Li (1):
x86/kvm: Don't waste memory if kvmclock is disabled
Wei Liu (1):
swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap()
Yanming Liu (1):
Drivers: hv: balloon: account for vmbus packet header in max_pkt_size
arch/x86/hyperv/Makefile | 2 +-
arch/x86/hyperv/hv_init.c | 90 ++++++++---
arch/x86/hyperv/ivm.c | 319
+++++++++++++++++++++++++++++++++++++
arch/x86/include/asm/hyperv-tlfs.h | 17 ++
arch/x86/include/asm/mem_encrypt.h | 2 -
arch/x86/include/asm/mshyperv.h | 70 ++++++--
arch/x86/include/asm/sev.h | 6 +
arch/x86/kernel/cc_platform.c | 8 +
arch/x86/kernel/cpu/mshyperv.c | 18 +++
arch/x86/kernel/crash_dump_64.c | 4 +-
arch/x86/kernel/kvm.c | 3 +-
arch/x86/kernel/kvmclock.c | 7 +-
arch/x86/kernel/machine_kexec_64.c | 8 +-
arch/x86/kernel/sev-shared.c | 25 +--
arch/x86/kernel/sev.c | 13 +-
arch/x86/kvm/svm/svm.c | 3 +-
arch/x86/mm/ioremap.c | 6 +-
arch/x86/mm/mem_encrypt.c | 24 ++-
arch/x86/mm/pat/set_memory.c | 23 ++-
arch/x86/platform/efi/efi_64.c | 9 +-
drivers/hv/Kconfig | 1 +
drivers/hv/channel.c | 87 ++++++----
drivers/hv/channel_mgmt.c | 2 +-
drivers/hv/connection.c | 101 +++++++++++-
drivers/hv/hv.c | 82 ++++++++--
drivers/hv/hv_balloon.c | 7 +
drivers/hv/hv_common.c | 23 +++
drivers/hv/hv_fcopy.c | 1 +
drivers/hv/hv_kvp.c | 1 +
drivers/hv/hv_snapshot.c | 1 +
drivers/hv/hyperv_vmbus.h | 4 +-
drivers/hv/ring_buffer.c | 159 ++++++++++++++----
drivers/hv/vmbus_drv.c | 4 +
drivers/net/hyperv/hyperv_net.h | 17 +-
drivers/net/hyperv/netvsc.c | 169 ++++++++++++++++++--
drivers/net/hyperv/netvsc_drv.c | 1 +
drivers/net/hyperv/rndis_filter.c | 6 +
drivers/scsi/storvsc_drv.c | 172 ++++++++++++++------
drivers/uio/uio_hv_generic.c | 18 +--
include/asm-generic/hyperv-tlfs.h | 1 +
include/asm-generic/mshyperv.h | 22 ++-
include/linux/hyperv.h | 79 +++++++--
include/linux/swiotlb.h | 6 +
kernel/dma/swiotlb.c | 40 ++++-
net/vmw_vsock/hyperv_transport.c | 4 +-
45 files changed, 1392 insertions(+), 273 deletions(-)
create mode 100644 arch/x86/hyperv/ivm.c
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list