]> git.itanic.dy.fi Git - linux-stable/commit
ALSA: seq: Fix data-race at module auto-loading
authorTakashi Iwai <tiwai@suse.de>
Tue, 23 Aug 2022 07:27:17 +0000 (09:27 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 24 Aug 2022 05:59:06 +0000 (07:59 +0200)
commit3e7e04b747adea36f349715d9f0998eeebf15d72
tree52bffb03307aa12eaa13ac76a801703759705473
parent22dec134dbfa825b963f8a1807ad19b943e46a56
ALSA: seq: Fix data-race at module auto-loading

It's been reported that there is a possible data-race accessing to the
global card_requested[] array at ALSA sequencer core, which is used
for determining whether to call request_module() for the card or not.
This data race itself is almost harmless, as it might end up with one
extra request_module() call for the already loaded module at most.
But it's still better to fix.

This patch addresses the possible data race of card_requested[] and
client_requested[] arrays by replacing them with bitmask.
It's an atomic operation and can work without locks.

Reported-by: Abhishek Shah <abhishek.shah@columbia.edu>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/CAEHB24_ay6YzARpA1zgCsE7=H9CSJJzux618E=Ka4h0YdKn=qA@mail.gmail.com
Link: https://lore.kernel.org/r/20220823072717.1706-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/seq/seq_clientmgr.c