Re: KASAN: invalid-free in disconnect_rio

From: Oliver Neukum
Date: Tue Apr 30 2019 - 08:58:57 EST


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.

Regards
Oliver