Re: possible deadlock in tower_open

From: Andrey Konovalov
Date: Thu Sep 19 2019 - 09:09:15 EST


On Thu, Sep 19, 2019 at 10:24 AM Johan Hovold <johan@xxxxxxxxxx> wrote:
>
> On Mon, Sep 16, 2019 at 06:29:12AM -0700, syzbot wrote:
> > Hello,
> >
> > syzbot found the following crash on:
> >
> > HEAD commit: f0df5c1b usb-fuzzer: main usb gadget fuzzer driver
> > git tree: https://github.com/google/kasan.git usb-fuzzer
> > console output: https://syzkaller.appspot.com/x/log.txt?x=13c8d14e600000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=5c6633fa4ed00be5
> > dashboard link: https://syzkaller.appspot.com/bug?extid=66935bec147fbf68d9f8
> > compiler: gcc (GCC) 9.0.0 20181231 (experimental)
> >
> > Unfortunately, I don't have any reproducer for this crash yet.
> >
> > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > Reported-by: syzbot+66935bec147fbf68d9f8@xxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > ======================================================
> > WARNING: possible circular locking dependency detected
> > 5.3.0-rc7+ #0 Not tainted
> > ------------------------------------------------------
> > syz-executor.1/8155 is trying to acquire lock:
> > 0000000086c1bdfc (open_disc_mutex){+.+.}, at: tower_open+0xce/0x9b0
> > drivers/usb/misc/legousbtower.c:335
> >
> > but task is already holding lock:
> > 000000000f520f73 (minor_rwsem){++++}, at: usb_open+0x23/0x270
> > drivers/usb/core/file.c:39
> >
> > which lock already depends on the new lock.
>
> This looks like a duplicate of
>
> https://lkml.kernel.org/r/000000000000d58eb90592add24e@xxxxxxxxxx
>
> Not sure if this is the right way to report this (quoting needed?):
>
> #syz dup: possible deadlock in usb_deregister_dev (2)

Hi Johan,

You did it right, now the status is changed to "closed as dup":

https://syzkaller.appspot.com/bug?extid=66935bec147fbf68d9f8

Thanks!