Azure: Enable vPCI multi-MSI interrupts

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

Bug Description

SRU Justification

[Impact]

This is a 2nd attempt with this patch set. The first attempt [1] caused a regression.

The Hyper-V vPCI driver (pci-hyperv) doesn't work with a PCIe devcie that supports multiple MSI interrupts (Note: MSI-X has been working fine). Recently Jeffrey Hugo <email address hidden> made 4 patches to the vPCI driver so multiple-MSI can work now. Please consider picking up the 4 patches into the linux-azure kernels for Ubuntu LTS 18.04, 20.04 and 22.04:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=08e61e861a0e47e5e1a3fb78406afd6b0cea6b6d

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=455880dfe292a2bdd3b4ad6a107299fce610e64b

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b4b77778ecc5bfbd4e77de1b2fd5c1dd3c655f1f

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a2bad844a67b1c7740bda63e87453baf63c3a7f7

[1] https://bugs.launchpad.net/bugs/1981577

[Test Plan]

Microsoft tested: " I tested the kernel and it worked as expected, i.e. we still have the multi-MSI capability and I no longer see the soft lockup issue with fio + NVMe + the L64s_v2 VM size."

[Where things could go wrong]

vPCI devices may no get interrupts

[Other Info]

SF: #00339521

CVE References

Tim Gardner (timg-tpi)
affects: linux (Ubuntu) → linux-azure (Ubuntu)
Changed in linux-azure (Ubuntu):
assignee: nobody → Tim Gardner (timg-tpi)
importance: Undecided → Medium
status: New → In Progress
status: In Progress → Fix Released
Changed in linux-azure (Ubuntu Jammy):
assignee: nobody → Tim Gardner (timg-tpi)
importance: Undecided → Medium
status: New → In Progress
summary: - Azure: Enable multi-vPCI MSI interrupts
+ Azure: Enable vPCI multi-MSI interrupts
description: updated
Tim Gardner (timg-tpi)
Changed in linux-azure (Ubuntu Jammy):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-azure/5.15.0-1021.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-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

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!

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (44.1 KiB)

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

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

  * jammy/linux-azure: 5.15.0-1021.26 -proposed tracker (LP: #1989754)

  * Packaging resync (LP: #1786013)
    - [Packaging] update variants

  * Azure: Enable vPCI multi-MSI interrupts (LP: #1990184)
    - genirq/msi: Guard sysfs code
    - genirq/msi: Remove unused domain callbacks
    - genirq/msi: Fixup includes
    - PCI/MSI: Make pci_msi_domain_write_msg() static
    - PCI/MSI: Remove msi_desc_to_pci_sysdata()
    - genirq/msi, treewide: Use a named struct for PCI/MSI attributes
    - PCI: hv: Fix multi-MSI to allow more than one MSI vector
    - PCI: hv: Avoid the retarget interrupt hypercall in irq_unmask() on ARM64
    - PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI
    - PCI: hv: Reuse existing IRTE allocation in compose_msi_msg()
    - PCI: hv: Fix interrupt mapping for multi-MSI
    - SAUCE: PCI: hv: Only reuse existing IRTE allocation for Multi-MSI

  * Azure: Add support for multi-MSI (LP: #1981577) // Azure: Enable vPCI multi-
    MSI interrupts (LP: #1990184)
    - PCI: hv: Remove unused hv_set_msi_entry_from_desc()

  * cma alloc failure in large 5.15 arm instances (LP: #1990167)
    - [Config] Disable CONFIG_CMA for arm64

  [ Ubuntu: 5.15.0-50.56 ]

  * jammy/linux: 5.15.0-50.56 -proposed tracker (LP: #1990148)
  * CVE-2022-3176
    - io_uring: refactor poll update
    - io_uring: move common poll bits
    - io_uring: kill poll linking optimisation
    - io_uring: inline io_poll_complete
    - io_uring: correct fill events helpers types
    - io_uring: clean cqe filling functions
    - io_uring: poll rework
    - io_uring: remove poll entry from list when canceling all
    - io_uring: bump poll refs to full 31-bits
    - io_uring: fail links when poll fails
    - io_uring: fix wrong arm_poll error handling
    - io_uring: fix UAF due to missing POLLFREE handling
  * ip/nexthop: fix default address selection for connected nexthop
    (LP: #1988809)
    - selftests/net: test nexthop without gw
  * ip/nexthop: fix default address selection for connected nexthop
    (LP: #1988809) // icmp_redirect.sh in ubuntu_kernel_selftests failed on
    Jammy 5.15.0-49.55 (LP: #1990124)
    - ip: fix triggering of 'icmp redirect'

  [ Ubuntu: 5.15.0-49.55 ]

  * jammy/linux: 5.15.0-49.55 -proposed tracker (LP: #1989785)
  * amdgpu module crash after 5.15 kernel update (LP: #1981883)
    - drm/amdgpu: fix check in fbdev init
  * scsi: hisi_sas: Increase debugfs_dump_index after dump is  completed
    (LP: #1982070)
    - scsi: hisi_sas: Increase debugfs_dump_index after dump is completed
  * [UBUNTU 22.04] s390/qeth: cache link_info for ethtool (LP: #1984103)
    - s390/qeth: cache link_info for ethtool
  * WARN in trace_event_dyn_put_ref (LP: #1987232)
    - tracing/perf: Fix double put of trace event when init fails
  * Jammy update: v5.15.60 upstream stable release (LP: #1989221)
    - x86/speculation: Make all RETbleed mitigations 64-bit only
    - selftests/bpf: Extend verifier and bpf_sock tests for dst_port loads
    - selftests/bpf: Check dst_port only on the client socket
    - block: fix default IO ...

Changed in linux-azure (Ubuntu Jammy):
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

Remote bug watches

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