• Takashi Iwai's avatar
    ALSA: seq: Avoid concurrent access to queue flags · bb51e669
    Takashi Iwai authored
    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.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    bb51e669
seq_queue.c 18.8 KB