Re: KASAN: invalid-free in rsi_91x_deinit

From: Johan Hovold
Date: Thu Nov 28 2019 - 12:09:32 EST


On Thu, Nov 28, 2019 at 06:07:02PM +0100, Johan Hovold wrote:
> On Tue, Nov 19, 2019 at 02:38:11PM +0100, Andrey Konovalov wrote:
> > On Tue, Apr 23, 2019 at 2:36 PM syzbot
> > <syzbot+7c72edfb407b2bd866ce@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Hello,
> > >
> > > syzbot found the following crash on:
> > >
> > > HEAD commit: d34f9519 usb-fuzzer: main usb gadget fuzzer driver
> > > git tree: https://github.com/google/kasan/tree/usb-fuzzer
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=14a79403200000
> > > kernel config: https://syzkaller.appspot.com/x/.config?x=c73d1bb5aeaeae20
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=7c72edfb407b2bd866ce
> > > compiler: gcc (GCC) 9.0.0 20181231 (experimental)
> > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17547247200000
> > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=147b3a1d200000
> > >
> > > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > > Reported-by: syzbot+7c72edfb407b2bd866ce@xxxxxxxxxxxxxxxxxxxxxxxxx
> > >
> > > usb 1-1: config 252 interface 115 altsetting 0 has 1 endpoint descriptor,
> > > different from the interface descriptor's value: 4
> > > usb 1-1: New USB device found, idVendor=1618, idProduct=9113,
> > > bcdDevice=32.21
> > > usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
> > > rsi_91x: rsi_probe: Failed to init usb interface
> > > ==================================================================
> > > BUG: KASAN: double-free or invalid-free in slab_free mm/slub.c:3003 [inline]
> > > BUG: KASAN: double-free or invalid-free in kfree+0xce/0x280 mm/slub.c:3958

> > Most likely the same issue as:
> >
> > #syz dup: WARNING: ODEBUG bug in rsi_probe
> >
> > https://syzkaller.appspot.com/bug?extid=1d1597a5aa3679c65b9f
>
> No, this was separate bug that was fixed by commit 8b51dc729147 ("rsi:
> fix a double free bug in rsi_91x_deinit()").
>
> Let me try to mark it as such:
>
> #syz undup

#syz fix: rsi: fix a double free bug in rsi_91x_deinit()

Johan