BUG: bpf: task hung in lock_sock_nested during sockmap free

From: Kenneth Lee

Date: Wed Aug 12 2026 - 01:08:47 EST


Hi,

The following hung task was found by a custom fuzzer developed
by Sechang Lim <rhkrqnwk98@xxxxxxxxx>:

INFO: task kworker/u8:19:1912 blocked for more than 122 seconds.

Unfortunately, we haven't found a reproducer for the hang yet. We'll
inform you if we have any update on the hang.

Detailed crash information is attached below.

Thanks,
Kenneth Lee

---
- Kernel version:
7.1.0-rc6

- Crash Report:
INFO: task kworker/u8:19:1912 blocked for more than 122 seconds.
Not tainted 7.1.0-rc6-dirty #34
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/u8:19 state:D stack:24296 pid:1912 tgid:1912 ppid:2 task_flags:0x4208060 flags:0x00080000
Workqueue: events_unbound bpf_map_free_deferred
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5388 [inline]
__schedule+0x1f31/0x2e80 kernel/sched/core.c:7189
__schedule_loop kernel/sched/core.c:7268 [inline]
schedule+0x167/0x360 kernel/sched/core.c:7283
__lock_sock+0xf5/0x210 net/core/sock.c:3191
lock_sock_nested+0xca/0x100 net/core/sock.c:3804
lock_sock include/net/sock.h:1713 [inline]
sock_map_free+0x120/0x3c0 net/core/sock_map.c:356
bpf_map_free+0x197/0x3c0 kernel/bpf/syscall.c:892
process_one_work kernel/workqueue.c:3314 [inline]
process_scheduled_works+0xa98/0x1690 kernel/workqueue.c:3397
worker_thread+0x8a5/0xd90 kernel/workqueue.c:3478
kthread+0x397/0x480 kernel/kthread.c:436
ret_from_fork+0x397/0x810 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/34:
#0: ffffffffa4905880 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
#0: ffffffffa4905880 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline]
#0: ffffffffa4905880 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x2e/0x180 kernel/locking/lockdep.c:6775
3 locks held by systemd-journal/120:
1 lock held by syz-executor/327:
3 locks held by kworker/u8:19/1912:
#0: ffff8881000ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3289 [inline]
#0: ffff8881000ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_scheduled_works+0x9af/0x1690 kernel/workqueue.c:3397
#1: ffffc9001279fd20 ((work_completion)(&map->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3290 [inline]
#1: ffffc9001279fd20 ((work_completion)(&map->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9d6/0x1690 kernel/workqueue.c:3397
#2: ffff888118685d58 (sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1713 [inline]
#2: ffff888118685d58 (sk_lock-AF_INET){+.+.}-{0:0}, at: sock_map_free+0x120/0x3c0 net/core/sock_map.c:356
2 locks held by syz.0.944/7410:
4 locks held by syz-executor/7721:
#0: ffff88811a93a8a0 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested kernel/sched/core.c:652 [inline]
#0: ffff88811a93a8a0 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock kernel/sched/sched.h:1624 [inline]
#0: ffff88811a93a8a0 (&rq->__lock){-.-.}-{2:2}, at: rq_lock kernel/sched/sched.h:1968 [inline]
#0: ffff88811a93a8a0 (&rq->__lock){-.-.}-{2:2}, at: __schedule+0x305/0x2e80 kernel/sched/core.c:7064
#1: ffffffffa87c6018 (&obj_hash[i].lock){-.-.}-{2:2}, at: debug_object_activate+0x87/0x540 lib/debugobjects.c:845
#2: ffffffffa87ef238 (&obj_hash[i].lock){-.-.}-{2:2}, at: debug_object_activate+0x87/0x540 lib/debugobjects.c:845
#3: ffff88811a934228 (lock#3){+.+.}-{3:3}, at: local_lock_acquire include/linux/local_lock_internal.h:46 [inline]
#3: ffff88811a934228 (lock#3){+.+.}-{3:3}, at: __folio_batch_add_and_move+0x93/0x810 mm/swap.c:192
1 lock held by (udev-worker)/8332:
2 locks held by kworker/u8:9/11248:
#0: ffff8881000ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3289 [inline]
#0: ffff8881000ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_scheduled_works+0x9af/0x1690 kernel/workqueue.c:3397
#1: ffffc9000f397d20 ((work_completion)(&map->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3290 [inline]
#1: ffffc9000f397d20 ((work_completion)(&map->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9d6/0x1690 kernel/workqueue.c:3397
1 lock held by syz.3.2068/11361:
#0: ffffffffa50cd460 (rtnl_mutex){+.+.}-{4:4}, at: tcx_link_release+0x6e/0x4b0 kernel/bpf/tcx.c:177