summaryrefslogtreecommitdiff
path: root/sound/core
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2022-09-26 16:55:49 +0300
committerTakashi Iwai <tiwai@suse.de>2022-09-27 09:46:03 +0300
commit1be2143fb7b19e247f7c4aa1097f85fe92c132bf (patch)
tree8bc9710c8bed62d1015e1f375d74d6fb421dbb60 /sound/core
parentf0061c18c169f0c32d96b59485c3edee85e343ed (diff)
downloadlinux-1be2143fb7b19e247f7c4aa1097f85fe92c132bf.tar.xz
ALSA: pcm: Make mmap status read-only
The mmap status record should be read-only. Modifying it from user-space may screw up things unexpectedly, so let's clear the write bits at exposing it. Note that alsa-lib and other known user-space apps access the mmapped status only as read-only, hence this change shouldn't break the existing applications. Reviewed-by: Jaroslav Kysela <perex@perex.cz> Link: https://lore.kernel.org/r/20220926135558.26580-3-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/pcm_native.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index d9485b1ab719..33769ca78cc8 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -3668,6 +3668,7 @@ static int snd_pcm_mmap_status(struct snd_pcm_substream *substream, struct file
area->vm_ops = &snd_pcm_vm_ops_status;
area->vm_private_data = substream;
area->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+ area->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
return 0;
}