linux/sound/core/seq
Takashi Iwai d2392b79d8 ALSA: seq: oss: Fix races at processing SysEx messages
commit 0179488ca9 upstream.

OSS sequencer handles the SysEx messages split in 6 bytes packets, and
ALSA sequencer OSS layer tries to combine those.  It stores the data
in the internal buffer and this access is racy as of now, which may
lead to the out-of-bounds access.

As a temporary band-aid fix, introduce a mutex for serializing the
process of the SysEx message packets.

Reported-by: Kun Hu <huk23@m.fudan.edu.cn>
Closes: https://lore.kernel.org/2B7E93E4-B13A-4AE4-8E87-306A8EE9BBB7@m.fudan.edu.cn
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241230110543.32454-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-01-09 13:32:06 +01:00
..
oss ALSA: seq: oss: Fix races at processing SysEx messages 2025-01-09 13:32:06 +01:00
Kconfig ALSA: seq: Bind UMP device 2023-05-23 12:11:33 +02:00
Makefile ALSA: seq: Bind UMP device 2023-05-23 12:11:33 +02:00
seq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_clientmgr.c ALSA: seq: Check UMP support for midi_version change 2025-01-09 13:32:06 +01:00
seq_clientmgr.h ALSA: seq: Add UMP group filter 2023-05-23 12:11:38 +02:00
seq_compat.c ALSA: seq: Add ioctls for client UMP info query and setup 2023-05-23 12:11:36 +02:00
seq_dummy.c ALSA: seq: Allow suppressing UMP conversions 2023-05-23 12:11:32 +02:00
seq_fifo.c ALSA: seq: Fix assignment in if condition 2021-06-09 17:30:26 +02:00
seq_fifo.h ALSA: seq: Fix potential concurrent access to the deleted pool 2019-08-25 09:31:10 +02:00
seq_info.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_info.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_lock.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_lock.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
seq_memory.c ALSA: seq: Fix snd_seq_expand_var_event() call to user-space 2023-09-05 10:13:46 +02:00
seq_memory.h ALSA: seq: Add UMP support 2023-05-23 12:11:21 +02:00
seq_midi.c ALSA: seq: fix function cast warnings 2024-03-26 18:19:47 -04:00
seq_midi_emul.c ALSA: Use fallthrough pseudo-keyword 2020-07-09 13:01:29 +02:00
seq_midi_event.c ALSA: seq: More constifications 2020-01-05 16:14:29 +01:00
seq_ports.c ALSA: seq: Fix memory leak at error path in snd_seq_create_port() 2023-07-17 08:26:15 +02:00
seq_ports.h ALSA: seq: ump: Use the common RPN/bank conversion context 2024-09-08 07:54:30 +02:00
seq_prioq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_prioq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_queue.c ALSA: seq: Set upper limit of processed events 2021-12-07 17:52:28 +01:00
seq_queue.h ALSA: seq: Use bool for snd_seq_queue internal flags 2020-12-06 09:35:53 +01:00
seq_system.c ALSA: seq: ump: Notify port changes to system port 2023-06-12 18:22:32 +02:00
seq_system.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_timer.c ALSA: seq: Fix race of snd_seq_timer_open() 2021-06-10 17:21:30 +02:00
seq_timer.h ALSA: seq: Fix concurrent access to queue current tick/time 2020-02-14 15:53:09 +01:00
seq_ump_client.c ALSA: seq: ump: Fix seq port updates per FB info notify 2024-12-14 19:59:48 +01:00
seq_ump_convert.c ALSA: seq: ump: Explicitly reset RPN with Null RPN 2024-09-08 07:54:31 +02:00
seq_ump_convert.h ALSA: seq: Automatic conversion of UMP events 2023-05-23 12:11:28 +02:00
seq_virmidi.c ALSA: seq: fix function cast warnings 2024-03-26 18:19:47 -04:00