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: 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>
This commit is contained in:
parent
a34d018b6e
commit
3eaf770163
|
@ -1088,7 +1088,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 ? */
|
||||
|
|
Loading…
Reference in New Issue
Block a user