android_kernel_xiaomi_sm7250/sound/core/seq
Takashi Iwai f57ca0e2cd ALSA: seq: Fix data-race at module auto-loading
commit 3e7e04b747adea36f349715d9f0998eeebf15d72 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-15 12:17:04 +02:00
..
oss ALSA: seq: oss: Fix data-race for max_midi_devs access 2022-09-15 12:17:04 +02:00
Kconfig
Makefile
seq_clientmgr.c ALSA: seq: Fix data-race at module auto-loading 2022-09-15 12:17:04 +02:00
seq_clientmgr.h
seq_compat.c
seq_dummy.c
seq_fifo.c
seq_fifo.h
seq_info.c
seq_info.h
seq_lock.c
seq_lock.h
seq_memory.c
seq_memory.h
seq_midi_emul.c
seq_midi_event.c
seq_midi.c
seq_ports.c ALSA: seq: Fix racy deletion of subscriber 2021-08-12 13:19:38 +02:00
seq_ports.h
seq_prioq.c
seq_prioq.h
seq_queue.c ALSA: seq: Set upper limit of processed events 2022-01-27 09:04:29 +01:00
seq_queue.h
seq_system.c
seq_system.h
seq_timer.c
seq_timer.h
seq_virmidi.c
seq.c