| From 5461e0530c222129dfc941058be114b5cbc00837 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Thu, 12 Mar 2020 16:57:30 +0100 |
| Subject: ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 5461e0530c222129dfc941058be114b5cbc00837 upstream. |
| |
| The return value checks in snd_pcm_plug_alloc() are covered with |
| snd_BUG_ON() macro that may trigger a kernel WARNING depending on the |
| kconfig. But since the error condition can be triggered by a weird |
| user space parameter passed to OSS layer, we shouldn't give the kernel |
| stack trace just for that. As it's a normal error condition, let's |
| remove snd_BUG_ON() macro usage there. |
| |
| Reported-by: syzbot+2a59ee7a9831b264f45e@syzkaller.appspotmail.com |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20200312155730.7520-1-tiwai@suse.de |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/core/oss/pcm_plugin.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/sound/core/oss/pcm_plugin.c |
| +++ b/sound/core/oss/pcm_plugin.c |
| @@ -111,7 +111,7 @@ int snd_pcm_plug_alloc(struct snd_pcm_su |
| while (plugin->next) { |
| if (plugin->dst_frames) |
| frames = plugin->dst_frames(plugin, frames); |
| - if (snd_BUG_ON((snd_pcm_sframes_t)frames <= 0)) |
| + if ((snd_pcm_sframes_t)frames <= 0) |
| return -ENXIO; |
| plugin = plugin->next; |
| err = snd_pcm_plugin_alloc(plugin, frames); |
| @@ -123,7 +123,7 @@ int snd_pcm_plug_alloc(struct snd_pcm_su |
| while (plugin->prev) { |
| if (plugin->src_frames) |
| frames = plugin->src_frames(plugin, frames); |
| - if (snd_BUG_ON((snd_pcm_sframes_t)frames <= 0)) |
| + if ((snd_pcm_sframes_t)frames <= 0) |
| return -ENXIO; |
| plugin = plugin->prev; |
| err = snd_pcm_plugin_alloc(plugin, frames); |