• T
    ALSA: oss: Use kvzalloc() for local buffer allocations · 27d6abfb
    Takashi Iwai 提交于
    commit 65766ee0bf7fe8b3be80e2e1c3ef54ad59b29476 upstream.
    
    PCM OSS layer may allocate a few temporary buffers, one for the core
    read/write and another for the conversions via plugins.  Currently
    both are allocated via vmalloc().  But as the allocation size is
    equivalent with the PCM period size, the required size might be quite
    small, depending on the application.
    
    This patch replaces these vmalloc() calls with kvzalloc() for covering
    small period sizes better.  Also, we use "z"-alloc variant here for
    addressing the possible uninitialized access reported by syzkaller.
    
    Reported-by: syzbot+1cb36954e127c98dd037@syzkaller.appspotmail.com
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    27d6abfb
pcm_oss.c 86.9 KB