]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: seq: Avoid concurrent access to queue flags
authorTakashi Iwai <tiwai@suse.de>
Fri, 14 Feb 2020 11:13:14 +0000 (12:13 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 14 Feb 2020 14:52:59 +0000 (15:52 +0100)
commite09115e333510fb42c13bd59399fb3a0acdacb5e
tree4a88188713bbfba11e980f00f7cd5fa92019b573
parent9fdbd5cf9f20076eda3236cef951e66205bdf29a
ALSA: seq: Avoid concurrent access to queue flags

The queue flags are represented in bit fields and the concurrent
access may result in unexpected results.  Although the current code
should be mostly OK as it's only reading a field while writing other
fields as KCSAN reported, it's safer to cover both with a proper
spinlock protection.

This patch fixes the possible concurrent read by protecting with
q->owner_lock.  Also the queue owner field is protected as well since
it's the field to be protected by the lock itself.

Reported-by: syzbot+65c6c92d04304d0a8efc@syzkaller.appspotmail.com
Reported-by: syzbot+e60ddfa48717579799dd@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/20200214111316.26939-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/seq/seq_queue.c