diff options
| author | Kyle Zeng <kylebot@openai.com> | 2026-06-05 01:02:04 -0700 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-06-05 10:08:57 +0200 |
| commit | 2b5ff4db5d7aa5b981d966df02e687f79ad7b311 (patch) | |
| tree | faf75d419abbf4db327a9d546cf255e639a7646c /scripts/basic | |
| parent | d76b56b06b2734c6e0ff519599126919fa4f154b (diff) | |
| download | lwn-2b5ff4db5d7aa5b981d966df02e687f79ad7b311.tar.gz lwn-2b5ff4db5d7aa5b981d966df02e687f79ad7b311.zip | |
ALSA: seq: dummy: fix UMP event stack overread
The dummy sequencer port forwards events by copying an incoming
struct snd_seq_event into a stack temporary, rewriting source and
destination, and dispatching the temporary to subscribers. That legacy
event storage is smaller than struct snd_seq_ump_event.
When a UMP event reaches the dummy client, the copy leaves the UMP flag
set but only provides legacy-sized stack storage. The subscriber
delivery path then uses snd_seq_event_packet_size() and copies a
UMP-sized packet from that stack object, reading past the end of the
temporary.
Use the existing union __snd_seq_event storage and copy the packet size
reported for the incoming event before rewriting the common routing
fields. This preserves the full UMP packet for UMP events while keeping
legacy event handling unchanged.
Fixes: 32cb23a0f911 ("ALSA: seq: dummy: Allow UMP conversion")
Signed-off-by: Kyle Zeng <kylebot@openai.com>
Link: https://patch.msgid.link/20260605080204.32045-1-kylebot@openai.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'scripts/basic')
0 files changed, 0 insertions, 0 deletions
