On 3/2/21 11:59 AM, syzbot wrote: > Hello, > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > possible deadlock in io_poll_double_wake > > ============================================ > WARNING: possible recursive locking detected > 5.12.0-rc1-syzkaller #0 Not tainted > -------------------------------------------- > syz-executor.4/10454 is trying to acquire lock: > ffff8880343cc130 (&runtime->sleep){..-.}-{2:2}, at: spin_lock include/linux/spinlock.h:354 [inline] > ffff8880343cc130 (&runtime->sleep){..-.}-{2:2}, at: io_poll_double_wake+0x25f/0x6a0 fs/io_uring.c:4925 > > but task is already holding lock: > ffff888034e3b130 (&runtime->sleep){..-.}-{2:2}, at: __wake_up_common_lock+0xb4/0x130 kernel/sched/wait.c:137 > > other info that might help us debug this: > Possible unsafe locking scenario: > > CPU0 > ---- > lock(&runtime->sleep); > lock(&runtime->sleep); This still makes no sense to me - naming is the same, but address of waitqueue_head is not (which is what matters). Unless I'm missing something obvious here. Anyway, added some debug printks, so let's try again. #syz test: git://git.kernel.dk/linux-block syzbot-test -- Jens Axboe