linux/drivers/firewire
Takashi Sakamoto f6a6780e0b firewire: core: fix invalid port index for parent device
In a commit 24b7f8e5cd ("firewire: core: use helper functions for self
ID sequence"), the enumeration over self ID sequence was refactored with
some helper functions with KUnit tests. These helper functions are
guaranteed to work expectedly by the KUnit tests, however their application
includes a mistake to assign invalid value to the index of port connected
to parent device.

This bug affects the case that any extra node devices which has three or
more ports are connected to 1394 OHCI controller. In the case, the path
to update the tree cache could hits WARN_ON(), and gets general protection
fault due to the access to invalid address computed by the invalid value.

This commit fixes the bug to assign correct port index.

Cc: stable@vger.kernel.org
Reported-by: Edmund Raile <edmund.raile@proton.me>
Closes: https://lore.kernel.org/lkml/8a9902a4ece9329af1e1e42f5fea76861f0bf0e8.camel@proton.me/
Fixes: 24b7f8e5cd ("firewire: core: use helper functions for self ID sequence")
Link: https://lore.kernel.org/r/20241025034137.99317-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2024-10-27 11:14:35 +09:00
..
.kunitconfig firewire: ohci: add static inline functions to deserialize for Self-ID DMA operation 2024-07-04 08:12:48 +09:00
core-card.c firewire: core: allocate workqueue to handle isochronous contexts in card 2024-09-04 21:51:50 +09:00
core-cdev.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
core-device.c firewire: core: update fw_device outside of device_find_child() 2024-08-20 22:21:32 +09:00
core-iso.c firewire: core: update documentation of kernel APIs for flushing completions 2024-09-12 22:30:37 +09:00
core-topology.c firewire: core: fix invalid port index for parent device 2024-10-27 11:14:35 +09:00
core-trace.c firewire: core: move copy_port_status() helper function to TP_fast_assign() block 2024-07-12 14:34:12 +09:00
core-transaction.c firewire: core: replace IDR with XArray to maintain fw_device 2024-08-12 10:42:50 +09:00
core.h Revert "firewire: core: move workqueue handler from 1394 OHCI driver to core function" 2024-09-12 22:30:35 +09:00
device-attribute-test.c firewire: core: fill model field in modalias of unit device for legacy layout of configuration ROM 2024-01-10 18:37:13 +09:00
init_ohci1394_dma.c firewire: init_ohci1394_dma: use correct function names in comments 2023-04-24 09:19:35 +09:00
Kconfig firewire: ohci: add static inline functions to deserialize for Self-ID DMA operation 2024-07-04 08:12:48 +09:00
Makefile firewire: ohci: add static inline functions to deserialize for Self-ID DMA operation 2024-07-04 08:12:48 +09:00
net.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
nosy-user.h
nosy.c firewire: nosy: ensure user_length is taken into account when fetching packet contents 2024-04-29 18:35:55 +09:00
nosy.h
ohci-serdes-test.c firewire: ohci: add static inline functions to serialize/deserialize data of IT DMA 2024-08-02 09:36:05 +09:00
ohci.c firewire: core: rename cause flag of tracepoints event 2024-09-12 22:30:38 +09:00
ohci.h firewire: ohci: add static inline functions to serialize/deserialize data of IT DMA 2024-08-02 09:36:05 +09:00
packet-header-definitions.h firewire: core: arrangement header inclusion for tracepoints events 2024-06-17 08:37:03 +09:00
packet-serdes-test.c firewire: core: add tests for serialization/deserialization of phy config packet 2024-06-17 08:37:03 +09:00
phy-packet-definitions.h firewire: core: add tests for serialization/deserialization of phy config packet 2024-06-17 08:37:03 +09:00
sbp2.c scsi: sbp2: Switch to using ->device_configure 2024-04-11 21:37:49 -04:00
self-id-sequence-helper-test.c firewire: core: add helper function to handle port status from self ID sequence and its KUnit test 2024-06-17 08:37:02 +09:00
uapi-test.c firewire: add missing MODULE_DESCRIPTION() to test modules 2024-05-27 07:34:58 +09:00