** Changed in: hwe-next
   Importance: Undecided => Critical

** Changed in: hwe-next
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-5.14 in Ubuntu.
https://bugs.launchpad.net/bugs/1982104

Title:
  intel_iommu: Fix  enable intel_iommu, Ubuntu 22.04 installation
  crashes

Status in HWE Next:
  Fix Committed
Status in linux package in Ubuntu:
  Invalid
Status in linux-oem-5.14 package in Ubuntu:
  Invalid
Status in linux-oem-5.17 package in Ubuntu:
  Invalid
Status in linux source package in Focal:
  Invalid
Status in linux-oem-5.14 source package in Focal:
  Fix Released
Status in linux-oem-5.17 source package in Focal:
  Invalid
Status in linux source package in Jammy:
  Fix Committed
Status in linux-oem-5.14 source package in Jammy:
  Invalid
Status in linux-oem-5.17 source package in Jammy:
  Fix Released
Status in linux-oem-5.14 source package in Kinetic:
  Invalid
Status in linux-oem-5.17 source package in Kinetic:
  Invalid

Bug description:
  [Impact]
  Ubuntu 22.04 installation crashes on our Intel Sapphire Rapids proto server.
  Attaching the console logs.

  Currently, it looks like disabling VT-D option in BIOS settings helps 
mitigate the issue.
  Console logs indicate something is wrong in iommu/dmar subsystem.

  [Fix]
  The IOMMU driver shares the pasid table for PCI alias devices. When the
  RID2PASID entry of the shared pasid table has been filled by the first
  device, the subsequent device will encounter the "DMAR: Setup RID2PASID
  failed" failure as the pasid entry has already been marked as present.
  As the result, the IOMMU probing process will be aborted.

  On the contrary, when any alias device is hot-removed from the system,
  for example, by writing to /sys/bus/pci/devices/.../remove, the shared
  RID2PASID will be cleared without any notifications to other devices.
  As the result, any DMAs from those rest devices are blocked.

  Sharing pasid table among PCI alias devices could save two memory pages
  for devices underneath the PCIe-to-PCI bridges. Anyway, considering that
  those devices are rare on modern platforms that support VT-d in scalable
  mode and the saved memory is negligible, it's reasonable to remove this
  part of immature code to make the driver feasible and stable.

  [Test Case]
  1. use the target machine(Intel Sapphire Rapids) and install the kernel with 
the fix.
  2. boot the target machine
  3. check dmesg if the error message exists
  [ 8.120527] pci 0000:03:01.0: DMAR: Setup RID2PASID failed

  [Where problems could occur]
  After enable intel_iommu, the errors may be occurred.
  We need to figure out one by one once the related errors are triggered in the 
future.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1982104/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to