Re: [PATCH] firewire: core: fix race condition against transaction list

Takashi Sakamoto <[email protected]> Thu, 29 Jan 2026 08:06:49 +0900
Newsgroups gmane.linux.kernel.stable,gmane.linux.kernel.firewire.devel,gmane.linux.kernel
Message-ID <[email protected]>
On Wed, Jan 28, 2026 at 07:34:13AM +0900, Takashi Sakamoto wrote:
> 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: [email protected] # v6.18
> Fixes: b5725cfa4120 ("firewire: core: use spin lock specific to timer for split transaction")
> Reported-by: Andreas Persson <[email protected]>
> Closes: https://github.com/alsa-project/snd-firewire-ctl-services/issues/209
> Tested-by: Andreas Persson <[email protected]>
> Signed-off-by: Takashi Sakamoto <[email protected]>
> ---
>  drivers/firewire/core-transaction.c | 19 ++++++++++---------
>  1 file changed, 10 insertions(+), 9 deletions(-)

Applied to for-linus branch. I'll send it to mainline in this weekend in
time for v6.19-rc8 release.


Regards

Takashi Sakamoto