Re: KASAN: invalid-free in disconnect_rio

From: Andrey Konovalov
Date: Tue Apr 30 2019 - 09:02:54 EST


On Tue, Apr 30, 2019 at 2:58 PM Oliver Neukum <oneukum@xxxxxxxx> wrote:
>
> On Fr, 2019-04-12 at 04:36 -0700, syzbot wrote:
> > Hello,
> >
> > syzbot found the following crash on:
> >
> > HEAD commit: 9a33b369 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=174ce2e3200000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=23e37f59d94ddd15
> > dashboard link: https://syzkaller.appspot.com/bug?extid=35f04d136fc975a70da4
> > compiler: gcc (GCC) 9.0.0 20181231 (experimental)
> > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=138150f3200000
> > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1290c22d200000
> >
> > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > Reported-by: syzbot+35f04d136fc975a70da4@xxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > usb 6-1: USB disconnect, device number 2
> > rio500 3-1:0.110: USB Rio disconnected.
> > usb 4-1: USB disconnect, device number 2
> > ==================================================================
> > usb 1-1: USB disconnect, device number 2
> > 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/0x290 mm/slub.c:3958
> > usb 2-1: USB disconnect, device number 2
> >
>
> Try as I might, I don't understand this. I can see a memory leak,
> but not a double free.

I took a look at this some time ago, and I was under the impression
that this driver doesn't handle multiple devices being connected at
the same time well.

>
> Regards
> Oliver
>