[GIT PULL] Hyper-V commits for 5.12

From: Wei Liu
Date: Tue Feb 16 2021 - 04:46:12 EST


Hi Linus,

The following changes since commit 6ee1d745b7c9fd573fba142a2efdad76a9f1cb04:

Linux 5.11-rc5 (2021-01-24 16:47:14 -0800)

are available in the Git repository at:

ssh://git@xxxxxxxxxxxxxxxxxxx/pub/scm/linux/kernel/git/hyperv/linux.git tags/hyperv-next-signed-20210216

for you to fetch changes up to 3019270282a175defc02c8331786c73e082cd2a8:

Revert "Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer" (2021-02-15 10:49:11 +0000)

----------------------------------------------------------------
hyperv-next for 5.12
- VMBus hardening patches from Andrea Parri and Andres Beltran.
- Patches to make Linux boot as the root partition on Microsoft Hypervisor
from Wei Liu.
- One patch to add a new sysfs interface to support hibernation on Hyper-V
from Dexuan Cui.
- Two miscellaneous clean-up patches from Colin and Gustavo.

----------------------------------------------------------------
Andrea Parri (Microsoft) (9):
Drivers: hv: vmbus: Initialize memory to be sent to the host
Drivers: hv: vmbus: Reduce number of references to message in vmbus_on_msg_dpc()
Drivers: hv: vmbus: Copy the hv_message in vmbus_on_msg_dpc()
Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind()
Drivers: hv: vmbus: Resolve race condition in vmbus_onoffer_rescind()
x86/hyperv: Load/save the Isolation Configuration leaf
Drivers: hv: vmbus: Restrict vmbus_devices on isolated guests
Drivers: hv: vmbus: Enforce 'VMBus version >= 5.2' on isolated guests
hv_netvsc: Restrict configurations on isolated guests

Andres Beltran (2):
Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer
hv_utils: Add validation for untrusted Hyper-V values

Colin Ian King (1):
hv_utils: Fix spelling mistake "Hearbeat" -> "Heartbeat"

Dexuan Cui (1):
Drivers: hv: vmbus: Add /sys/bus/vmbus/hibernation

Gustavo A. R. Silva (1):
hv: hyperv.h: Replace one-element array with flexible-array in struct icmsg_negotiate

Wei Liu (17):
asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT
x86/hyperv: detect if Linux is the root partition
Drivers: hv: vmbus: skip VMBus initialization if Linux is root
clocksource/hyperv: use MSR-based access if running as root
x86/hyperv: allocate output arg pages if required
x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary
x86/hyperv: handling hypercall page setup for root
ACPI / NUMA: add a stub function for node_to_pxm()
x86/hyperv: provide a bunch of helper functions
x86/hyperv: implement and use hv_smp_prepare_cpus
asm-generic/hyperv: update hv_msi_entry
asm-generic/hyperv: update hv_interrupt_entry
asm-generic/hyperv: introduce hv_device_id and auxiliary structures
asm-generic/hyperv: import data structures for mapping device interrupts
x86/hyperv: implement an MSI domain for root partition
iommu/hyperv: setup an IO-APIC IRQ remapping domain for root partition
Revert "Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer"

Documentation/ABI/stable/sysfs-bus-vmbus | 7 +
arch/x86/hyperv/Makefile | 4 +-
arch/x86/hyperv/hv_init.c | 122 +++++++++-
arch/x86/hyperv/hv_proc.c | 219 ++++++++++++++++++
arch/x86/hyperv/irqdomain.c | 385 +++++++++++++++++++++++++++++++
arch/x86/include/asm/hyperv-tlfs.h | 38 +++
arch/x86/include/asm/mshyperv.h | 19 +-
arch/x86/kernel/cpu/mshyperv.c | 58 +++++
drivers/clocksource/hyperv_timer.c | 3 +
drivers/hv/channel.c | 4 +-
drivers/hv/channel_mgmt.c | 77 ++++++-
drivers/hv/connection.c | 7 +
drivers/hv/hv_fcopy.c | 36 ++-
drivers/hv/hv_kvp.c | 122 +++++-----
drivers/hv/hv_snapshot.c | 89 ++++---
drivers/hv/hv_util.c | 222 +++++++++++-------
drivers/hv/vmbus_drv.c | 64 +++--
drivers/iommu/hyperv-iommu.c | 177 +++++++++++++-
drivers/net/hyperv/netvsc.c | 18 +-
drivers/pci/controller/pci-hyperv.c | 2 +-
include/acpi/acpi_numa.h | 4 +
include/asm-generic/hyperv-tlfs.h | 255 +++++++++++++++++++-
include/asm-generic/mshyperv.h | 5 +
include/linux/hyperv.h | 13 +-
24 files changed, 1717 insertions(+), 233 deletions(-)
create mode 100644 arch/x86/hyperv/hv_proc.c
create mode 100644 arch/x86/hyperv/irqdomain.c