]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ALSA: pcm: Fix race of buffer access at PCM OSS layer
authorTakashi Iwai <tiwai@suse.de>
Fri, 16 May 2025 08:08:16 +0000 (10:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 16 May 2025 08:09:02 +0000 (10:09 +0200)
commit93a81ca0657758b607c3f4ba889ae806be9beb73
tree4925a8fbbf6533a6c82ae20723ca6a8b10c7c4e0
parent7b9938a14460e8ec7649ca2e80ac0aae9815bf02
ALSA: pcm: Fix race of buffer access at PCM OSS layer

The PCM OSS layer tries to clear the buffer with the silence data at
initialization (or reconfiguration) of a stream with the explicit call
of snd_pcm_format_set_silence() with runtime->dma_area.  But this may
lead to a UAF because the accessed runtime->dma_area might be freed
concurrently, as it's performed outside the PCM ops.

For avoiding it, move the code into the PCM core and perform it inside
the buffer access lock, so that it won't be changed during the
operation.

Reported-by: syzbot+32d4647f551007595173@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/68164d8e.050a0220.11da1b.0019.GAE@google.com
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20250516080817.20068-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/pcm.h
sound/core/oss/pcm_oss.c
sound/core/pcm_native.c