OpenCloudOS-Kernel/sound/core/seq/oss
Takashi Iwai 132d358b18 ALSA: seq: Fix OSS sysex delivery in OSS emulation
The SYSEX event delivery in OSS sequencer emulation assumed that the
event is encoded in the variable-length data with the straight
buffering.  This was the normal behavior in the past, but during the
development, the chained buffers were introduced for carrying more
data, while the OSS code was left intact.  As a result, when a SYSEX
event with the chained buffer data is passed to OSS sequencer port,
it may end up with the wrong memory access, as if it were having a too
large buffer.

This patch addresses the bug, by applying the buffer data expansion by
the generic snd_seq_dump_var_event() helper function.

Reported-by: syzbot <syzkaller@googlegroups.com>
Reported-by: Mark Salyzyn <salyzyn@android.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-11-07 16:05:24 +01:00
..
Makefile ALSA: seq: Allow the tristate build of OSS emulation 2017-06-09 22:09:45 +02:00
seq_oss.c ALSA: seq: oss: Don't drain at closing a client 2016-03-01 20:26:40 +01:00
seq_oss_device.h sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
seq_oss_event.c ALSA: seq: seq_oss_event: missing range checks 2013-03-04 16:39:50 +01:00
seq_oss_event.h [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00
seq_oss_init.c ALSA: seq: oss: Don't drain at closing a client 2016-03-01 20:26:40 +01:00
seq_oss_ioctl.c ALSA: seq_oss: Drop debug prints 2014-02-14 08:14:13 +01:00
seq_oss_midi.c ALSA: seq: Fix OSS sysex delivery in OSS emulation 2017-11-07 16:05:24 +01:00
seq_oss_midi.h [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00
seq_oss_readq.c ALSA: seq: Fix OSS sysex delivery in OSS emulation 2017-11-07 16:05:24 +01:00
seq_oss_readq.h ALSA: seq: Fix OSS sysex delivery in OSS emulation 2017-11-07 16:05:24 +01:00
seq_oss_rw.c [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00
seq_oss_synth.c ALSA: seq_oss: Change structure initialisation to C99 style 2016-06-15 10:13:54 +02:00
seq_oss_synth.h ALSA: seq: Define driver object in each driver 2015-02-12 14:15:54 +01:00
seq_oss_timer.c ALSA: seq_oss: Drop debug prints 2014-02-14 08:14:13 +01:00
seq_oss_timer.h [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00
seq_oss_writeq.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
seq_oss_writeq.h [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00