ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
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>
This commit is contained in:
Родитель
3b36b13d5e
Коммит
5461e0530c
|
@ -111,7 +111,7 @@ int snd_pcm_plug_alloc(struct snd_pcm_substream *plug, snd_pcm_uframes_t frames)
|
||||||
while (plugin->next) {
|
while (plugin->next) {
|
||||||
if (plugin->dst_frames)
|
if (plugin->dst_frames)
|
||||||
frames = plugin->dst_frames(plugin, 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;
|
return -ENXIO;
|
||||||
plugin = plugin->next;
|
plugin = plugin->next;
|
||||||
err = snd_pcm_plugin_alloc(plugin, frames);
|
err = snd_pcm_plugin_alloc(plugin, frames);
|
||||||
|
@ -123,7 +123,7 @@ int snd_pcm_plug_alloc(struct snd_pcm_substream *plug, snd_pcm_uframes_t frames)
|
||||||
while (plugin->prev) {
|
while (plugin->prev) {
|
||||||
if (plugin->src_frames)
|
if (plugin->src_frames)
|
||||||
frames = plugin->src_frames(plugin, 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;
|
return -ENXIO;
|
||||||
plugin = plugin->prev;
|
plugin = plugin->prev;
|
||||||
err = snd_pcm_plugin_alloc(plugin, frames);
|
err = snd_pcm_plugin_alloc(plugin, frames);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче