From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Cc: Andrey Konovalov <andreyknvl@google.com>, linux-usb@vger.kernel.org
Subject: [PATCH 7/9] ALSA: hiface: Add sanity checks for invalid EPs
Date: Tue, 10 Oct 2017 15:38:17 +0200 [thread overview]
Message-ID: <20171010133819.10567-8-tiwai@suse.de> (raw)
In-Reply-To: <20171010133819.10567-1-tiwai@suse.de>
hiface usb-audio driver sets up URBs containing the fixed endpoints
without validation. This may end up with an oops-like kernel warning
when submitted.
For avoiding it, this patch adds the calls of the new sanity-check
helper for URBs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/usb/hiface/pcm.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/sound/usb/hiface/pcm.c b/sound/usb/hiface/pcm.c
index 175d8d6b7f59..396c317115b1 100644
--- a/sound/usb/hiface/pcm.c
+++ b/sound/usb/hiface/pcm.c
@@ -541,6 +541,8 @@ static int hiface_pcm_init_urb(struct pcm_urb *urb,
usb_fill_bulk_urb(&urb->instance, chip->dev,
usb_sndbulkpipe(chip->dev, ep), (void *)urb->buffer,
PCM_PACKET_SIZE, handler, urb);
+ if (usb_urb_ep_type_check(&urb->instance))
+ return -EINVAL;
init_usb_anchor(&urb->submitted);
return 0;
@@ -599,9 +601,12 @@ int hiface_pcm_init(struct hiface_chip *chip, u8 extra_freq)
mutex_init(&rt->stream_mutex);
spin_lock_init(&rt->playback.lock);
- for (i = 0; i < PCM_N_URBS; i++)
- hiface_pcm_init_urb(&rt->out_urbs[i], chip, OUT_EP,
+ for (i = 0; i < PCM_N_URBS; i++) {
+ ret = hiface_pcm_init_urb(&rt->out_urbs[i], chip, OUT_EP,
hiface_pcm_out_urb_handler);
+ if (ret < 0)
+ return ret;
+ }
ret = snd_pcm_new(chip->card, "USB-SPDIF Audio", 0, 1, 0, &pcm);
if (ret < 0) {
--
2.14.2
prev parent reply other threads:[~2017-10-10 13:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-10 13:38 [PATCH 0/9] sound: Add sanity checks for invalid EPs Takashi Iwai
2017-10-10 13:38 ` [PATCH 5/9] ALSA: usb-audio: " Takashi Iwai
[not found] ` <20171010133819.10567-1-tiwai-l3A5Bk7waGM@public.gmane.org>
2017-10-10 13:38 ` [PATCH 1/9] usb: core: Add a helper function to check the validity of EP type in URB Takashi Iwai
[not found] ` <20171010133819.10567-2-tiwai-l3A5Bk7waGM@public.gmane.org>
2017-10-10 13:53 ` Greg KH
2017-10-10 13:55 ` Takashi Iwai
2017-10-10 13:38 ` [PATCH 2/9] ALSA: bcd2000: Add a sanity check for invalid EPs Takashi Iwai
[not found] ` <20171010133819.10567-3-tiwai-l3A5Bk7waGM@public.gmane.org>
2017-10-10 14:00 ` Andrey Konovalov
2017-10-10 14:33 ` Takashi Iwai
2017-10-10 18:20 ` Andrey Konovalov
2017-10-10 13:38 ` [PATCH 3/9] ALSA: caiaq: " Takashi Iwai
2017-10-10 13:38 ` [PATCH 4/9] ALSA: line6: " Takashi Iwai
2017-10-10 13:38 ` [PATCH 6/9] ALSA: usx2y: Add sanity checks " Takashi Iwai
2017-10-10 13:38 ` [PATCH 8/9] ALSA: caiaq: Add yet more " Takashi Iwai
2017-10-10 13:38 ` [PATCH 9/9] ALSA: line6: " Takashi Iwai
2017-10-10 13:38 ` Takashi Iwai [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171010133819.10567-8-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=andreyknvl@google.com \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).