Re: possible deadlock in tower_open

From: Johan Hovold
Date: Thu Sep 19 2019 - 04:24:05 EST


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)

Johan