umber-kernel/drivers/firewire
Takashi Sakamoto b038874e31 firewire: core: fix race condition against transaction list
commit 20e01bba2ae4898ce65cdcacd1bd6bec5111abd9 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-02-06 16:57:37 +01:00
..
.kunitconfig
Kconfig
Makefile
core-card.c firewire: core: Initialize topology_map.lock 2025-11-14 23:18:50 +09:00
core-cdev.c firewire updates for v6.18 2025-10-01 12:52:43 -07:00
core-device.c
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-02-06 16:57:37 +01:00
core.h
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
nosy-user.h
nosy.c firewire: nosy: Fix dma_free_coherent() size 2026-01-08 10:16:47 +01:00
nosy.h
ohci-serdes-test.c
ohci.c
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