]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: linkwatch: use system_unbound_wq
authorEric Dumazet <edumazet@google.com>
Mon, 5 Aug 2024 08:58:21 +0000 (08:58 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 6 Aug 2024 19:12:53 +0000 (12:12 -0700)
commit3e7917c0cdad835a5121520fc5686d954b7a61ab
treed1a301f01ae219e3a3cbfe87a117a112df37d7a2
parent92c4ee25208d0f35dafc3213cdf355fbe449e078
net: linkwatch: use system_unbound_wq

linkwatch_event() grabs possibly very contended RTNL mutex.

system_wq is not suitable for such work.

Inspired by many noisy syzbot reports.

3 locks held by kworker/0:7/5266:
 #0: ffff888015480948 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline]
 #0: ffff888015480948 ((wq_completion)events){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312
 #1: ffffc90003f6fd00 ((linkwatch_work).work){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline]
 , at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312
 #2: ffffffff8fa6f208 (rtnl_mutex){+.+.}-{3:3}, at: linkwatch_event+0xe/0x60 net/core/link_watch.c:276

Reported-by: syzbot <syzkaller@googlegroups.com>
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20240805085821.1616528-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/link_watch.c