• Takashi Iwai's avatar
    ALSA: pcm: Fix memory leak at closing a stream without hw_free · 66f2d19f
    Takashi Iwai authored
    ALSA PCM core recently introduced a new managed PCM buffer allocation
    mode that does allocate / free automatically at hw_params and
    hw_free.  However, it overlooked the code path directly calling
    hw_free PCM ops at releasing the PCM substream, and it may result in a
    memory leak as spotted by syzkaller when no buffer preallocation is
    used (e.g. vmalloc buffer).
    
    This patch papers over it with a slight refactoring.  The hw_free ops
    call and relevant tasks are unified in a new helper function, and call
    it from both places.
    
    Fixes: 0dba808e ("ALSA: pcm: Introduce managed buffer allocation mode")
    Reported-by: syzbot+30edd0f34bfcdc548ac4@syzkaller.appspotmail.com
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20200129195907.12197-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    66f2d19f
pcm_native.c 109 KB