Merge tag 'hyperv-next-signed-20220114' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 16 Jan 2022 13:53:00 +0000 (15:53 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 16 Jan 2022 13:53:00 +0000 (15:53 +0200)
Pull hyperv updates from Wei Liu:

 - More patches for Hyper-V isolation VM support (Tianyu Lan)

 - Bug fixes and clean-up patches from various people

* tag 'hyperv-next-signed-20220114' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
  scsi: storvsc: Fix storvsc_queuecommand() memory leak
  x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi()
  Drivers: hv: vmbus: Initialize request offers message for Isolation VM
  scsi: storvsc: Fix unsigned comparison to zero
  swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap()
  x86/hyperv: Fix definition of hv_ghcb_pg variable
  Drivers: hv: Fix definition of hypercall input & output arg variables
  net: netvsc: Add Isolation VM support for netvsc driver
  scsi: storvsc: Add Isolation VM support for storvsc driver
  hyper-v: Enable swiotlb bounce buffer for Isolation VM
  x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has()
  swiotlb: Add swiotlb bounce buffer remap function for HV IVM

1  2 
arch/x86/include/asm/mshyperv.h
arch/x86/kernel/cc_platform.c
arch/x86/kernel/cpu/mshyperv.c
drivers/hv/vmbus_drv.c
drivers/net/hyperv/netvsc.c
drivers/net/hyperv/netvsc_drv.c

Simple merge
Simple merge
Simple merge
Simple merge
@@@ -153,9 -153,22 +153,22 @@@ static void free_netvsc_device(struct r
        int i;
  
        kfree(nvdev->extension);
-       vfree(nvdev->recv_buf);
-       vfree(nvdev->send_buf);
+       if (nvdev->recv_original_buf) {
+               hv_unmap_memory(nvdev->recv_buf);
+               vfree(nvdev->recv_original_buf);
+       } else {
+               vfree(nvdev->recv_buf);
+       }
+       if (nvdev->send_original_buf) {
+               hv_unmap_memory(nvdev->send_buf);
+               vfree(nvdev->send_original_buf);
+       } else {
+               vfree(nvdev->send_buf);
+       }
 -      kfree(nvdev->send_section_map);
 +      bitmap_free(nvdev->send_section_map);
  
        for (i = 0; i < VRSS_CHANNEL_MAX; i++) {
                xdp_rxq_info_unreg(&nvdev->chan_table[i].xdp_rxq);
@@@ -336,7 -349,9 +349,8 @@@ static int netvsc_init_buf(struct hv_de
        struct net_device *ndev = hv_get_drvdata(device);
        struct nvsp_message *init_packet;
        unsigned int buf_size;
 -      size_t map_words;
        int i, ret = 0;
+       void *vaddr;
  
        /* Get receive buffer area. */
        buf_size = device_info->recv_sections * device_info->recv_section_size;
Simple merge