[GIT PULL] firewire updates for 6.7

From: Takashi Sakamoto
Date: Sun Nov 05 2023 - 09:49:16 EST


Hi Linus,

This is the pull request from FireWire subsystem. It contains a slight
change in core function itself. I'm glad if you accept it to your tree.

Allow me to report a regression of PCI driver for 1394 OHCI hardware in
kernel 6.5 or later. When probing the hardware with following combination
of chips on Linux system running on AMD Ryzen machines, the system
unexpectedly reboots.

* Asmedia ASM1083 (PCI bridge)
* VIA VT6306/6307/6308 (1394 OHCI controller)

The issue has been reported by users from OpenSUSE
(https://bugzilla.suse.com/show_bug.cgi?id=1215436) and Fedora
(https://bugzilla.kernel.org/show_bug.cgi?id=217994), and I can reproduce
it on my local machine. The superficial cause of issue is accesses to
Isochronous Cycle Timer register in OHCI control register space during the
PCI device probing. However, the exact mechanism triggering the reboot is
currently unclear, as the system does not provide any useful output. In my
experience, this issue does not occur on Intel machine, AMD Sempron 145
machine, or with different 1394 OHCI hardware from other vendors such as
Texas Instruments. While it's possible that there may be code issues
within the PCI device driver, I think that specific hardware quirks exist
in the combination of the Ryzen machines, the PCI bridge, and the 1394
OHCI controller, since I can see another issue of cache-coherence over
DMA memory mapping in Ryzen machine with VT6315. Anyway I'm still under
investigation and wish to find any workaround as soon.

----------------------------------------------------------------

The following changes since commit ffc253263a1375a65fa6c9f62a893e9767fbebfa:

Linux 6.6 (2023-10-29 16:31:08 -1000)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git tags/firewire-updates-6.7

for you to fetch changes up to c12d7aa7ffa4c61443241fbc1ee405acf4aa17de:

firewire: Annotate struct fw_node with __counted_by (2023-11-05 21:15:17 +0900)

----------------------------------------------------------------
firewire updates for 6.7

The pull request includes a slight change for flexible length of array
in core function.

Kees Cook provides a patch to annotate the array embedded in fw_node
structure referring to structure member for the length of array. The
annotation would be defined by future extension of C compilers, and
used for access bound-check at run-time enabled by UBSAN and
FORTIFY_SOURCE.

----------------------------------------------------------------
Kees Cook (1):
firewire: Annotate struct fw_node with __counted_by

drivers/firewire/core.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)


Regards

Takashi Sakamoto