linux/drivers/firewire
Takashi Sakamoto 20e01bba2a firewire: core: fix race condition against transaction list
The list of transaction is enumerated without acquiring card lock when
processing AR response event. This causes a race condition bug when
processing AT request completion event concurrently.

This commit fixes the bug by put timer start for split transaction
expiration into the scope of lock. The value of jiffies in card structure
is referred before acquiring the lock.

Cc: stable@vger.kernel.org # v6.18
Fixes: b5725cfa41 ("firewire: core: use spin lock specific to timer for split transaction")
Reported-by: Andreas Persson <andreasp56@outlook.com>
Closes: https://github.com/alsa-project/snd-firewire-ctl-services/issues/209
Tested-by: Andreas Persson <andreasp56@outlook.com>
Link: https://lore.kernel.org/r/20260127223413.22265-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-01-29 08:03:55 +09:00
..
.kunitconfig
Kconfig
Makefile
core-card.c firewire updates for v6.19 2025-12-04 12:26:36 -08:00
core-cdev.c firewire updates for v6.18 2025-10-01 12:52:43 -07:00
core-device.c firewire: core: use cleanup function to release cached configuration ROM 2025-10-20 21:00:38 +09:00
core-iso.c
core-topology.c firewire: core: fix to update generation field in topology map 2025-11-16 21:30:26 +09:00
core-trace.c
core-transaction.c firewire: core: fix race condition against transaction list 2026-01-29 08:03:55 +09:00
core.h firewire: core: abort pending transactions at card removal 2025-11-14 04:30:58 +09:00
device-attribute-test.c
init_ohci1394_dma.c firewire: init_ohci1394_dma: add missing function parameter documentation 2025-10-25 08:29:56 +09:00
net.c firewire: ohci: use workqueue to handle events of AT request/response contexts 2025-06-15 22:40:29 +09:00
nosy-user.h
nosy.c firewire: nosy: Fix dma_free_coherent() size 2025-12-26 22:04:03 +09:00
nosy.h
ohci-serdes-test.c
ohci.c firewire: core: abort pending transactions at card removal 2025-11-14 04:30:58 +09:00
ohci.h
packet-header-definitions.h
packet-serdes-test.c
phy-packet-definitions.h
sbp2.c
self-id-sequence-helper-test.c
uapi-test.c