lkml.org 
[lkml]   [2020]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.9 7/7] ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
    Date
    From: Takashi Iwai <tiwai@suse.de>

    [ Upstream commit 5461e0530c222129dfc941058be114b5cbc00837 ]

    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: Sasha Levin <sashal@kernel.org>
    ---
    sound/core/oss/pcm_plugin.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/sound/core/oss/pcm_plugin.c b/sound/core/oss/pcm_plugin.c
    index b08b2d2d804bd..0e3dd6014ce55 100644
    --- 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_substream *plug, snd_pcm_uframes_t frames)
    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_substream *plug, snd_pcm_uframes_t frames)
    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);
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-03-27 00:26    [W:2.615 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site