Re: [syzbot] [wireless?] INFO: task hung in rfkill_global_led_trigger_worker (3)

From: Johannes Berg
Date: Fri Jul 19 2024 - 12:30:38 EST


On Fri, 2024-07-19 at 22:59 +0900, Tetsuo Handa wrote:
> This is a deadlock which lockdep cannot detect.
> Please check which lock should be taken first.
>
> 2 locks held by syz.1.2508/23558:
> #0: ffff88805ff4f100 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:1009 [inline]
> #0: ffff88805ff4f100 (&dev->mutex){....}-{3:3}, at: nfc_unregister_device+0x63/0x2a0 net/nfc/core.c:1165
> #1: ffffffff8f8e1b88 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_unregister+0xd0/0x230 net/rfkill/core.c:1149
> 2 locks held by syz.4.2510/23544:
> #0: ffffffff8f8e1b88 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_fop_write+0x1a9/0x790 net/rfkill/core.c:1297
> #1: ffff88805ff4f100 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:1009 [inline]
> #1: ffff88805ff4f100 (&dev->mutex){....}-{3:3}, at: nfc_dev_down net/nfc/core.c:143 [inline]
> #1: ffff88805ff4f100 (&dev->mutex){....}-{3:3}, at: nfc_rfkill_set_block+0x50/0x310 net/nfc/core.c:179

Yeah, this is a well-known issue; I believe this should be fixed in the
NFC (virtual) device.

johannes