ALSA: line6: Perform sanity check for each URB creation
commit 6e8a914ad619042c5f25a4feb663357c4170fd8d upstream. LINE6 drivers create stream URBs with a fixed pipe without checking its validity, and this may lead to a kernel WARNING at the submission when a malformed USB descriptor is passed. For avoiding the kernel warning, perform the similar sanity checks for each pipe type at creating a URB. Reported-by: syzbot+c190f6858a04ea7fbc52@syzkaller.appspotmail.com Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/s5hv9iv4hq8.wl-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
074a3ea55a
commit
5ca7b059ee
2 changed files with 4 additions and 0 deletions
|
@ -291,6 +291,8 @@ int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm)
|
|||
urb->interval = LINE6_ISO_INTERVAL;
|
||||
urb->error_count = 0;
|
||||
urb->complete = audio_in_callback;
|
||||
if (usb_urb_ep_type_check(urb))
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -436,6 +436,8 @@ int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm)
|
|||
urb->interval = LINE6_ISO_INTERVAL;
|
||||
urb->error_count = 0;
|
||||
urb->complete = audio_out_callback;
|
||||
if (usb_urb_ep_type_check(urb))
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue