• Pavel Skripkin's avatar
    media: dvb-usb: fix wrong definition · c680ed46
    Pavel Skripkin authored
    syzbot reported WARNING in vmalloc. The problem
    was in zero size passed to vmalloc.
    
    The root case was in wrong cxusb_bluebird_lgz201_properties
    definition. adapter array has only 1 entry, but num_adapters was
    2.
    
    Call Trace:
     __vmalloc_node mm/vmalloc.c:2963 [inline]
     vmalloc+0x67/0x80 mm/vmalloc.c:2996
     dvb_dmx_init+0xe4/0xb90 drivers/media/dvb-core/dvb_demux.c:1251
     dvb_usb_adapter_dvb_init+0x564/0x860 drivers/media/usb/dvb-usb/dvb-usb-dvb.c:184
     dvb_usb_adapter_init drivers/media/usb/dvb-usb/dvb-usb-init.c:86 [inline]
     dvb_usb_init drivers/media/usb/dvb-usb/dvb-usb-init.c:184 [inline]
     dvb_usb_device_init.cold+0xc94/0x146e drivers/media/usb/dvb-usb/dvb-usb-init.c:308
     cxusb_probe+0x159/0x5e0 drivers/media/usb/dvb-usb/cxusb.c:1634
    
    Fixes: 4d43e13f ("V4L/DVB (4643): Multi-input patch for DVB-USB device")
    Cc: stable@vger.kernel.org
    Reported-by: syzbot+7336195c02c1bd2f64e1@syzkaller.appspotmail.com
    Signed-off-by: default avatarPavel Skripkin <paskripkin@gmail.com>
    Signed-off-by: default avatarSean Young <sean@mess.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
    c680ed46
cxusb.c 58.3 KB