Azure: not enough RAM under 4GB for CVM

Bug #1967166 reported by Tim Gardner
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-azure (Ubuntu)
Fix Released
Undecided
Unassigned
Impish
Fix Released
Medium
Tim Gardner
Jammy
Fix Released
Undecided
Unassigned

Bug Description

SRU Justification

[Impact]
Can you please include one more patchset for the "no enough RAM under 4GB" issue for the v5.13 kernel (and v5.15 kernel):
https://<email address hidden>/
https://<email address hidden>/

Without the two patches, currently the 5.13 kernel (and 5.15 kernel) can't boot as a CVM guest on Azure. :-(

The background is: currently an Azure host only provides about 900 MB memory below the 4GB boundary while the swiotlb code (which is required by the CVM patchset) needs to allocate memory of a size of MIN(1GB, 6% of the total memory). There will be an Azure host update, with which the host will provide about 3GB memory below the 4GB boundary, but we still need to wait a few more weeks to know the ETA. Currently the above two patches can work around the issue from the guest side.

[Test Case]

Microsoft tested

[Where things could go wrong]

These patches could affect non-CVM instances.

[Other Info]

SF: #00323683

CVE References

Tim Gardner (timg-tpi)
Changed in linux-azure (Ubuntu Jammy):
status: New → Fix Committed
Changed in linux-azure (Ubuntu Impish):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Tim Gardner (timg-tpi)
Revision history for this message
Tim Gardner (timg-tpi) wrote :
tags: added: bot-stop-nagging
Tim Gardner (timg-tpi)
Changed in linux-azure (Ubuntu Impish):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.8 KiB)

This bug was fixed in the package linux-azure - 5.15.0-1003.4

---------------
linux-azure (5.15.0-1003.4) jammy; urgency=medium

  * jammy/linux-azure: 5.15.0-1003.4 -proposed tracker (LP: #1966481)

  * Azure: not enough RAM under 4GB for CVM (LP: #1967166)
    - SAUCE: azure: Swiotlb: Add swiotlb_alloc_from_low_pages switch
    - SAUCE: azure: x86/hyperv: Make swiotlb bounce buffer allocation not just
      from low pages

  * linux-azure: arm64 network performance improvement (LP: #1966098)
    - SAUCE: azure: ACPI: scan: Export acpi_get_dma_attr()
    - SAUCE: azure: dma-mapping: Add wrapper function to set dma_coherent
    - SAUCE: azure: Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus
      device
    - SAUCE: azure: PCI: hv: Propagate coherence from VMbus device to PCI device

  [ Ubuntu: 5.15.0-25.25 ]

  * jammy/linux: 5.15.0-25.25 -proposed tracker (LP: #1967146)
  * Miscellaneous Ubuntu changes
    - SAUCE: Revert "scsi: core: Reallocate device's budget map on queue depth
      change"

  [ Ubuntu: 5.15.0-24.24 ]

  * jammy/linux: 5.15.0-24.24 -proposed tracker (LP: #1966305)
  * Update OS policy capability handshake (LP: #1966089)
    - thermal: int340x: Update OS policy capability handshake
  * Jammy update: v5.15.30 upstream stable release (LP: #1966057)
    - Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
    - arm64: dts: rockchip: fix rk3399-puma-haikou USB OTG mode
    - xfrm: Check if_id in xfrm_migrate
    - xfrm: Fix xfrm migrate issues when address family changes
    - arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity
    - arm64: dts: rockchip: align pl330 node name with dtschema
    - arm64: dts: rockchip: reorder rk3399 hdmi clocks
    - arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
    - ARM: dts: rockchip: reorder rk322x hmdi clocks
    - ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
    - mac80211: refuse aggregations sessions before authorized
    - MIPS: smp: fill in sibling and core maps earlier
    - ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE
    - Bluetooth: hci_core: Fix leaking sent_cmd skb
    - can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when
      fully ready
    - atm: firestream: check the return value of ioremap() in fs_init()
    - iwlwifi: don't advertise TWT support
    - drm/vrr: Set VRR capable prop only if it is attached to connector
    - nl80211: Update bss channel on channel switch for P2P_CLIENT
    - tcp: make tcp_read_sock() more robust
    - sfc: extend the locking on mcdi->seqno
    - bnx2: Fix an error message
    - kselftest/vm: fix tests build with old libc
    - x86/module: Fix the paravirt vs alternative order
    - ice: Fix race condition during interface enslave
    - Linux 5.15.30
  * Jammy update: v5.15.29 upstream stable release (LP: #1966056)
    - arm64: dts: qcom: sm8350: Describe GCC dependency clocks
    - arm64: dts: qcom: sm8350: Correct UFS symbol clocks
    - HID: elo: Revert USB reference counting
    - HID: hid-thrustmaster: fix OOB read in thrustmaster_interrupts
    - ARM: boot: dts: bcm2711: Fix HVS register range
    - clk: qcom: gds...

Changed in linux-azure (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-azure/5.13.0-1022.26 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-impish' to 'verification-done-impish'. If the problem still exists, change the tag 'verification-needed-impish' to 'verification-failed-impish'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-impish
Revision history for this message
Tim Gardner (timg-tpi) wrote :

Microsoft tested

tags: added: verification-done-impish
removed: verification-needed-impish
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (55.5 KiB)

This bug was fixed in the package linux-azure - 5.13.0-1022.26

---------------
linux-azure (5.13.0-1022.26) impish; urgency=medium

  * impish/linux-azure: 5.13.0-1022.26 -proposed tracker (LP: #1967347)

  * linux-azure: CONFIG_HIBERNATION=y (LP: #1967336)
    - [Config] Azure: arm64 CONFIG_HIBERNATION=y

  * Azure: not enough RAM under 4GB for CVM (LP: #1967166)
    - SAUCE: azure: Swiotlb: Add swiotlb_alloc_from_low_pages switch
    - SAUCE: x86/hyperv: Make swiotlb bounce buffer allocation not just from low
      pages

  * linux-azure: Update HV support to 5.17 (LP: #1961329)
    - Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer
    - 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
    - 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: Refactor swiotlb init functions
    - 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: Use blk_mq_unique_tag() to generate requestIDs
    - scsi: storvsc: Add Isolation VM support for storvsc driver
    - net: netvsc: Add Isolation VM support for netvsc driver
    - swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap()
    - Drivers: hv: vmbus: Initialize request offers message for Isolation VM
    - scsi: storvsc: Fix storvsc_queuecommand() memory leak
    - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size
    - Netvsc: Call hv_unmap_memory() in the netvsc_device_remove()
    - scsi: storvsc: Fix validation for unsolicited incoming packets
    - x86/sev: Replace occurrences of sev_active() with cc_platform_has()
    - x86/kvm: Don't waste memory if kvmclock is disabled
    - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64

  [ Ubuntu: 5.13.0-40.45 ]

  * impish/linux: 5.13.0-40.45 -proposed tracker (LP: #1966701)
  * CVE-2022-1016
    - netfilter: nf_tables: initialize registers in nft_do_chain()
  * CVE-2022-1015
    - netfilter: nf_tables: validate registers coming from userspace.
  * audit: improve audit queue handling when "audit=1" on cmdline
    (LP: #1965723) // Impish update: upstream stable patchset 2022-03-22
    (LP: #1966021)
    - audit: improve audit queue handling when "audit=1" on cmdline
  * PS/2 Keyboard wakeup from s2idle not functioning on AMD Yellow Carp platform
    (LP: #1961739)
    - PM: s2idle: ACPI: Fix wakeup interrupts handling
  * Low RX pe...

Changed in linux-azure (Ubuntu Impish):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-azure/6.2.0-1009.9 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-lunar' to 'verification-done-lunar'. If the problem still exists, change the tag 'verification-needed-lunar' to 'verification-failed-lunar'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-lunar-linux-azure verification-needed-lunar
Tim Gardner (timg-tpi)
tags: added: verification-done-lunar
removed: verification-needed-lunar
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.