Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a76a35f authored by Takashi Iwai's avatar Takashi Iwai Committed by Greg Kroah-Hartman
Browse files

ALSA: wavefront: Proper check of get_user() error



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: default avatarLinus 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: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e9758b6e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1092,7 +1092,8 @@ wavefront_send_sample (snd_wavefront_t *dev,

			if (dataptr < data_end) {
		
				__get_user (sample_short, dataptr);
				if (get_user(sample_short, dataptr))
					return -EFAULT;
				dataptr += skip;
		
				if (data_is_unsigned) { /* GUS ? */