]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 May 2022 14:29:55 +0000 (16:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 May 2022 14:29:55 +0000 (16:29 +0200)
added patches:
alsa-wavefront-proper-check-of-get_user-error.patch

queue-4.9/alsa-wavefront-proper-check-of-get_user-error.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/alsa-wavefront-proper-check-of-get_user-error.patch b/queue-4.9/alsa-wavefront-proper-check-of-get_user-error.patch
new file mode 100644 (file)
index 0000000..f7767ba
--- /dev/null
@@ -0,0 +1,36 @@
+From a34ae6c0660d3b96b0055f68ef74dc9478852245 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 10 May 2022 12:36:26 +0200
+Subject: ALSA: wavefront: Proper check of get_user() error
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit a34ae6c0660d3b96b0055f68ef74dc9478852245 upstream.
+
+The antient ISA wavefront driver reads its sample patch data (uploaded
+over an ioctl) via __get_user() with no good reason; likely just for
+some performance optimizations in the past.  Let's change this to the
+standard get_user() and the error check for handling the fault case
+properly.
+
+Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20220510103626.16635-1-tiwai@suse.de
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/isa/wavefront/wavefront_synth.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/sound/isa/wavefront/wavefront_synth.c
++++ b/sound/isa/wavefront/wavefront_synth.c
+@@ -1091,7 +1091,8 @@ wavefront_send_sample (snd_wavefront_t *
+                       if (dataptr < data_end) {
+               
+-                              __get_user (sample_short, dataptr);
++                              if (get_user(sample_short, dataptr))
++                                      return -EFAULT;
+                               dataptr += skip;
+               
+                               if (data_is_unsigned) { /* GUS ? */
index ac5e767a004612bd0e12ad8a2b74c75f9e0d272b..5f38bf8dc81568e4161967caf49c6c303ff93a9b 100644 (file)
@@ -8,3 +8,4 @@ arm-9191-1-arm-stacktrace-kasan-silence-kasan-warnin.patch
 mmc-core-specify-timeouts-for-bkops-and-cache_flush-for-emmc.patch
 mmc-block-use-generic_cmd6_time-when-modifying-inand_cmd38_arg_ext_csd.patch
 mmc-core-default-to-generic_cmd6_time-as-timeout-in-__mmc_switch.patch
+alsa-wavefront-proper-check-of-get_user-error.patch