This bug is awaiting verification that the linux-azure-
fips/6.8.0-1042.48+fips1 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-noble-linux-azure-fips' to
'verification-done-noble-linux-azure-fips'. If the problem still exists,
change the tag 'verification-needed-noble-linux-azure-fips' to
'verification-failed-noble-linux-azure-fips'.


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-noble-linux-azure-fips-v2 
verification-needed-noble-linux-azure-fips

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

Title:
  [UBUNTU 24.04] vfio/pci: fix 8-byte PCI loads and stores

Status in Ubuntu on IBM z Systems:
  Fix Released
Status in linux package in Ubuntu:
  Invalid
Status in linux source package in Noble:
  Fix Released

Bug description:
  [ Impact ]

  Reading from or writing to 64 bit registers (I/O ports or MMIO) on a
  PCI adapter attached via vfio with e.g. the pread()/pwrite() system
  calls may not work in case the PCI adapter requires a full read or
  write that can not be broken up.

  64 bit reads/writes are not implemented via the vfio I/O port or MMIO
  access, even if the architecture supports 64 bit I/O reads and writes.

  It is necessary to implement the use of 64 bit I/O reads and writes in
  the vfio driver, so that such reads and writes are not broken up into
  multiple smaller operations if the architecture supports such bigger
  operations.

  [ Fix ]

  Backport the following commits in Noble:
  - 186bfe44ea41 vfio/pci: Extract duplicated code into macro
  - 4df13a6871d9 vfio/pci: Support 8-byte PCI loads and stores
  - abe8103da3c5 vfio/pci: Fix typo in macro to declare accessors

  [ Test Case ]

  Bind a PCI device to vfio-pci and open it via /dev/vfio/<group>.
  From user space, issue pread()/pwrite() calls with size 64-bit on the 
device’s registers.
  Use ftrace or similar tools to confirm 
vfio_pci_core_ioread64/vfio_pci_core_iowrite64 is invoked.
  If available, check that a device requiring atomic 64-bit access now works 
correctly.

  [ Regression Potential ]

  The fix affects how VFIO PCI handles 64-bit register accesses via pread() and 
pwrite() from user-space.
  A bug here could cause incorrect or partial reads and writes to device 
registers, breaking atomicity guarantees required by some PCI adapters.
  Users may see devices misconfiguration, inconsistent register values, 
unexpected hardware behavior, or even system instability when using user-space 
drivers with VFIO. 

  ---

  Description:   vfio/pci: fix 8-byte PCI loads and stores

  Symptom:
  Reading from or writing to 64 bit registers (I/O ports or MMIO) on a PCI 
adapter attached via vfio with e.g. the pread()/pwrite() system calls may not 
work in case the PCI adapter requires a full read or write that can not be 
broken up.

  Problem:
  64 bit reads/writes are not implemented via the vfio I/O port or MMIO access, 
even if the architecture supports 64 bit I/O reads and writes.

  Solution:
  Implement the use of 64 bit I/O reads and writes in the vfio driver, so that 
such reads and writes are not broken up into multiple smaller operations if the 
architecture supports such bigger operations.

  Upstream-IDs:
  186bfe44ea41fb38c7a69becd7078724d28cd03c
  4df13a6871d9e97aeeef72244e9a954c5cf11f54

  Component: kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/2121146/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to