]> asedeno.scripts.mit.edu Git - linux.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)
commitbb51e669fa49feb5904f452b2991b240ef31bc97
tree4a88188713bbfba11e980f00f7cd5fa92019b573
parent0fbb027b44e79700da80e4b8bd1c1914d4796af6
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