[Pull Request] [impish/linux-azure] Azure: Update Hyperv to 5.17

Tim Gardner tim.gardner at canonical.com
Mon Apr 4 11:30:05 UTC 2022


Hi Joe - I kinda flubbed that patch set. As Thadeu correctly pointed 
out, the patch [1] had no effect because I didn't attach the 2nd patch 
which used the new interface. Since both patches are dependent on this 
pull request I thought it would be apropos to add them here.

rtg

[1] UBUNTU: SAUCE: azure: Swiotlb: Add swiotlb_alloc_from_low_pages switch

On 4/1/22 21:29, Joseph Salisbury wrote:
> Hi Tim,
> 
> I see the following NAK for the same BugLink:
> NAK: [PATCH v2][impish/linux-azure] UBUNTU: SAUCE: azure: Swiotlb: Add 
> swiotlb_alloc_from_low_pages switch
> 
> Does that NAK apply to these 2 patches?
> 
> Thanks,
> 
> Joe
> 
> On 4/1/22 15:51, Tim Gardner wrote:
>> I've added 2 patches from BugLink: 
>> https://bugs.launchpad.net/bugs/1967166 that are dependent on this 
>> patch set.
>>
>> Joe - please have a quick look to make sure your review time hasn't 
>> been squandered. I'd like to use your ACK for the original pull request.
>>
>> ----------------------------------------------------------------
>>
>> 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+ssh://timg-tpi@git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/impish 
>> dd9e2ca1f2089fc24b0818169de7e71c1b7ea018
>>
>> for you to fetch changes up to dd9e2ca1f2089fc24b0818169de7e71c1b7ea018:
>>
>>   x86/hyperv: Make swiotlb bounce buffer allocation not just from low 
>> pages (2022-04-01 13:37:49 -0600)
>>
>> ----------------------------------------------------------------
>>
>>
>> On 3/29/22 12:16, Tim Gardner wrote:
>>>
>>> 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