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
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers