* [syzbot] [net?] WARNING: bad unlock balance in do_setlink
@ 2025-04-07 5:57 syzbot
2025-04-07 6:37 ` Kuniyuki Iwashima
0 siblings, 1 reply; 10+ messages in thread
From: syzbot @ 2025-04-07 5:57 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, horms, kuba, kuniyu, linux-kernel,
netdev, pabeni, sdf, syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: 8bc251e5d874 Merge tag 'nf-25-04-03' of git://git.kernel.o..
git tree: net
console+strace: https://syzkaller.appspot.com/x/log.txt?x=1133afb0580000
kernel config: https://syzkaller.appspot.com/x/.config?x=24f9c4330e7c0609
dashboard link: https://syzkaller.appspot.com/bug?extid=45016fe295243a7882d3
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1040823f980000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=151d194c580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/a500d5daba83/disk-8bc251e5.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/2459c792199a/vmlinux-8bc251e5.xz
kernel image: https://storage.googleapis.com/syzbot-assets/558655fb055e/bzImage-8bc251e5.xz
The issue was bisected to:
commit dbfc99495d960134bfe1a4f13849fb0d5373b42c
Author: Stanislav Fomichev <sdf@fomichev.me>
Date: Tue Apr 1 16:34:47 2025 +0000
net: dummy: request ops lock
bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=13233998580000
final oops: https://syzkaller.appspot.com/x/report.txt?x=10a33998580000
console output: https://syzkaller.appspot.com/x/log.txt?x=17233998580000
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+45016fe295243a7882d3@syzkaller.appspotmail.com
Fixes: dbfc99495d96 ("net: dummy: request ops lock")
=====================================
WARNING: bad unlock balance detected!
6.14.0-syzkaller-12504-g8bc251e5d874 #0 Not tainted
-------------------------------------
syz-executor814/5834 is trying to release lock (&dev_instance_lock_key) at:
[<ffffffff89f41f56>] netdev_unlock include/linux/netdevice.h:2756 [inline]
[<ffffffff89f41f56>] netdev_unlock_ops include/net/netdev_lock.h:48 [inline]
[<ffffffff89f41f56>] do_setlink+0xc26/0x43a0 net/core/rtnetlink.c:3406
but there are no more locks to release!
other info that might help us debug this:
1 lock held by syz-executor814/5834:
#0: ffffffff900fc408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock net/core/rtnetlink.c:80 [inline]
#0: ffffffff900fc408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_nets_lock net/core/rtnetlink.c:341 [inline]
#0: ffffffff900fc408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_newlink+0xd68/0x1fe0 net/core/rtnetlink.c:4064
stack backtrace:
CPU: 0 UID: 0 PID: 5834 Comm: syz-executor814 Not tainted 6.14.0-syzkaller-12504-g8bc251e5d874 #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
print_unlock_imbalance_bug+0x185/0x1a0 kernel/locking/lockdep.c:5296
__lock_release kernel/locking/lockdep.c:5535 [inline]
lock_release+0x1ed/0x3e0 kernel/locking/lockdep.c:5887
__mutex_unlock_slowpath+0xee/0x800 kernel/locking/mutex.c:907
netdev_unlock include/linux/netdevice.h:2756 [inline]
netdev_unlock_ops include/net/netdev_lock.h:48 [inline]
do_setlink+0xc26/0x43a0 net/core/rtnetlink.c:3406
rtnl_group_changelink net/core/rtnetlink.c:3783 [inline]
__rtnl_newlink net/core/rtnetlink.c:3937 [inline]
rtnl_newlink+0x1619/0x1fe0 net/core/rtnetlink.c:4065
rtnetlink_rcv_msg+0x80f/0xd70 net/core/rtnetlink.c:6955
netlink_rcv_skb+0x208/0x480 net/netlink/af_netlink.c:2534
netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
netlink_unicast+0x7f8/0x9a0 net/netlink/af_netlink.c:1339
netlink_sendmsg+0x8c3/0xcd0 net/netlink/af_netlink.c:1883
sock_sendmsg_nosec net/socket.c:712 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:727
____sys_sendmsg+0x523/0x860 net/socket.c:2566
___sys_sendmsg net/socket.c:2620 [inline]
__sys_sendmsg+0x271/0x360 net/socket.c:2652
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f8427b614a9
Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff9b59f3a8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fff9b59f578 RCX: 00007f8427b614a9
RDX: 0000000000000000 RSI: 0000200000000300 RDI: 0000000000000004
RBP: 00007f8427bd4610 R08: 000000000000000c R09: 00007fff9b59f578
R10: 000000000000001b R11: 0000000000000246 R12: 0000000000000001
R13:
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-07 5:57 [syzbot] [net?] WARNING: bad unlock balance in do_setlink syzbot @ 2025-04-07 6:37 ` Kuniyuki Iwashima 2025-04-07 8:13 ` syzbot 0 siblings, 1 reply; 10+ messages in thread From: Kuniyuki Iwashima @ 2025-04-07 6:37 UTC (permalink / raw) To: syzbot+45016fe295243a7882d3 Cc: andrew+netdev, davem, edumazet, horms, kuba, kuniyu, linux-kernel, netdev, pabeni, sdf, syzkaller-bugs From: syzbot <syzbot+45016fe295243a7882d3@syzkaller.appspotmail.com> Date: Sun, 06 Apr 2025 22:57:35 -0700 > Hello, > > syzbot found the following issue on: > > HEAD commit: 8bc251e5d874 Merge tag 'nf-25-04-03' of git://git.kernel.o.. > git tree: net > console+strace: https://syzkaller.appspot.com/x/log.txt?x=1133afb0580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=24f9c4330e7c0609 > dashboard link: https://syzkaller.appspot.com/bug?extid=45016fe295243a7882d3 > compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1040823f980000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=151d194c580000 > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/a500d5daba83/disk-8bc251e5.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/2459c792199a/vmlinux-8bc251e5.xz > kernel image: https://storage.googleapis.com/syzbot-assets/558655fb055e/bzImage-8bc251e5.xz > > The issue was bisected to: > > commit dbfc99495d960134bfe1a4f13849fb0d5373b42c > Author: Stanislav Fomichev <sdf@fomichev.me> > Date: Tue Apr 1 16:34:47 2025 +0000 > > net: dummy: request ops lock > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=13233998580000 > final oops: https://syzkaller.appspot.com/x/report.txt?x=10a33998580000 > console output: https://syzkaller.appspot.com/x/log.txt?x=17233998580000 > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+45016fe295243a7882d3@syzkaller.appspotmail.com > Fixes: dbfc99495d96 ("net: dummy: request ops lock") > > ===================================== > WARNING: bad unlock balance detected! > 6.14.0-syzkaller-12504-g8bc251e5d874 #0 Not tainted > ------------------------------------- > syz-executor814/5834 is trying to release lock (&dev_instance_lock_key) at: > [<ffffffff89f41f56>] netdev_unlock include/linux/netdevice.h:2756 [inline] > [<ffffffff89f41f56>] netdev_unlock_ops include/net/netdev_lock.h:48 [inline] > [<ffffffff89f41f56>] do_setlink+0xc26/0x43a0 net/core/rtnetlink.c:3406 > but there are no more locks to release! #syz test diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index c23852835050..925d634f724e 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -3027,7 +3027,7 @@ static int do_setlink(const struct sk_buff *skb, struct net_device *dev, err = validate_linkmsg(dev, tb, extack); if (err < 0) - goto errout; + return err; if (tb[IFLA_IFNAME]) nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ); ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-07 6:37 ` Kuniyuki Iwashima @ 2025-04-07 8:13 ` syzbot 2025-04-07 14:19 ` Stanislav Fomichev 0 siblings, 1 reply; 10+ messages in thread From: syzbot @ 2025-04-07 8:13 UTC (permalink / raw) To: andrew, davem, edumazet, horms, kuba, kuniyu, linux-kernel, netdev, pabeni, sdf, syzkaller-bugs Hello, syzbot has tested the proposed patch but the reproducer is still triggering an issue: unregister_netdevice: waiting for DEV to become free unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 Tested on: commit: 61f96e68 Merge tag 'net-6.15-rc1' of git://git.kernel... git tree: net console output: https://syzkaller.appspot.com/x/log.txt?x=111c523f980000 kernel config: https://syzkaller.appspot.com/x/.config?x=f2054704dd53fb80 dashboard link: https://syzkaller.appspot.com/bug?extid=45016fe295243a7882d3 compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 patch: https://syzkaller.appspot.com/x/patch.diff?x=12f3bd98580000 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-07 8:13 ` syzbot @ 2025-04-07 14:19 ` Stanislav Fomichev 2025-04-07 16:12 ` Kuniyuki Iwashima 0 siblings, 1 reply; 10+ messages in thread From: Stanislav Fomichev @ 2025-04-07 14:19 UTC (permalink / raw) To: syzbot Cc: andrew, davem, edumazet, horms, kuba, kuniyu, linux-kernel, netdev, pabeni, sdf, syzkaller-bugs On 04/07, syzbot wrote: > Hello, > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > unregister_netdevice: waiting for DEV to become free > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 So it does fix the lock unbalance issue, but now there is a hang? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-07 14:19 ` Stanislav Fomichev @ 2025-04-07 16:12 ` Kuniyuki Iwashima 2025-04-08 8:11 ` Aleksandr Nogikh 0 siblings, 1 reply; 10+ messages in thread From: Kuniyuki Iwashima @ 2025-04-07 16:12 UTC (permalink / raw) To: stfomichev Cc: andrew, davem, edumazet, horms, kuba, kuniyu, linux-kernel, netdev, pabeni, sdf, syzbot+45016fe295243a7882d3, syzkaller-bugs From: Stanislav Fomichev <stfomichev@gmail.com> Date: Mon, 7 Apr 2025 07:19:54 -0700 > On 04/07, syzbot wrote: > > Hello, > > > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > > unregister_netdevice: waiting for DEV to become free > > > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 > > So it does fix the lock unbalance issue, but now there is a hang? I think this is an orthogonal issue. I saw this in another report as well. https://lore.kernel.org/netdev/67f208ea.050a0220.0a13.025b.GAE@google.com/ syzbot may want to find a better way to filter this kind of noise. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-07 16:12 ` Kuniyuki Iwashima @ 2025-04-08 8:11 ` Aleksandr Nogikh 2025-04-08 10:44 ` Dmitry Vyukov 0 siblings, 1 reply; 10+ messages in thread From: Aleksandr Nogikh @ 2025-04-08 8:11 UTC (permalink / raw) To: Kuniyuki Iwashima, Dmitry Vyukov Cc: stfomichev, andrew, davem, edumazet, horms, kuba, linux-kernel, netdev, pabeni, sdf, syzbot+45016fe295243a7882d3, syzkaller-bugs On Mon, Apr 7, 2025 at 6:13 PM 'Kuniyuki Iwashima' via syzkaller-bugs <syzkaller-bugs@googlegroups.com> wrote: > > From: Stanislav Fomichev <stfomichev@gmail.com> > Date: Mon, 7 Apr 2025 07:19:54 -0700 > > On 04/07, syzbot wrote: > > > Hello, > > > > > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > > > unregister_netdevice: waiting for DEV to become free > > > > > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 > > > > So it does fix the lock unbalance issue, but now there is a hang? > > I think this is an orthogonal issue. > > I saw this in another report as well. > https://lore.kernel.org/netdev/67f208ea.050a0220.0a13.025b.GAE@google.com/ > > syzbot may want to find a better way to filter this kind of noise. > Syzbot treats this message as a problem worthy of reporting since a long time (Cc'd Dmitry who may remember the context): https://github.com/google/syzkaller/commit/7a67784ca8bdc3b26cce2f0ec9a40d2dd9ec9396 Since v6.15-rc1, we do observe it happen at least 10x more often than before, both during fuzzing and while processing #syz test commands: https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 -- Aleksandr ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-08 8:11 ` Aleksandr Nogikh @ 2025-04-08 10:44 ` Dmitry Vyukov 2025-04-08 11:33 ` Eric Dumazet 0 siblings, 1 reply; 10+ messages in thread From: Dmitry Vyukov @ 2025-04-08 10:44 UTC (permalink / raw) To: Aleksandr Nogikh Cc: Kuniyuki Iwashima, stfomichev, andrew, davem, edumazet, horms, kuba, linux-kernel, netdev, pabeni, sdf, syzbot+45016fe295243a7882d3, syzkaller-bugs On Tue, 8 Apr 2025 at 10:11, Aleksandr Nogikh <nogikh@google.com> wrote: > > On Mon, Apr 7, 2025 at 6:13 PM 'Kuniyuki Iwashima' via syzkaller-bugs > <syzkaller-bugs@googlegroups.com> wrote: > > > > From: Stanislav Fomichev <stfomichev@gmail.com> > > Date: Mon, 7 Apr 2025 07:19:54 -0700 > > > On 04/07, syzbot wrote: > > > > Hello, > > > > > > > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > > > > unregister_netdevice: waiting for DEV to become free > > > > > > > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 > > > > > > So it does fix the lock unbalance issue, but now there is a hang? > > > > I think this is an orthogonal issue. > > > > I saw this in another report as well. > > https://lore.kernel.org/netdev/67f208ea.050a0220.0a13.025b.GAE@google.com/ > > > > syzbot may want to find a better way to filter this kind of noise. > > > > Syzbot treats this message as a problem worthy of reporting since a > long time (Cc'd Dmitry who may remember the context): > https://github.com/google/syzkaller/commit/7a67784ca8bdc3b26cce2f0ec9a40d2dd9ec9396 > > Since v6.15-rc1, we do observe it happen at least 10x more often than > before, both during fuzzing and while processing #syz test commands: > https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 IIUC this error means a leaked reference count on a device, and the device and everything it references leaked forever + a kernel thread looping forever. This does not look like noise. Eric, should know more. Eric fixed a bunch of these bugs and added a ref count tracker to devices to provide better diagnostics. For some reason I don't see the reftracker output in the console output, but CONFIG_NET_DEV_REFCNT_TRACKER=y is enabled in the config. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-08 10:44 ` Dmitry Vyukov @ 2025-04-08 11:33 ` Eric Dumazet 2025-04-08 20:16 ` Aleksandr Nogikh 0 siblings, 1 reply; 10+ messages in thread From: Eric Dumazet @ 2025-04-08 11:33 UTC (permalink / raw) To: Dmitry Vyukov Cc: Aleksandr Nogikh, Kuniyuki Iwashima, stfomichev, andrew, davem, horms, kuba, linux-kernel, netdev, pabeni, sdf, syzbot+45016fe295243a7882d3, syzkaller-bugs On Tue, Apr 8, 2025 at 12:44 PM Dmitry Vyukov <dvyukov@google.com> wrote: > > On Tue, 8 Apr 2025 at 10:11, Aleksandr Nogikh <nogikh@google.com> wrote: > > > > On Mon, Apr 7, 2025 at 6:13 PM 'Kuniyuki Iwashima' via syzkaller-bugs > > <syzkaller-bugs@googlegroups.com> wrote: > > > > > > From: Stanislav Fomichev <stfomichev@gmail.com> > > > Date: Mon, 7 Apr 2025 07:19:54 -0700 > > > > On 04/07, syzbot wrote: > > > > > Hello, > > > > > > > > > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > > > > > unregister_netdevice: waiting for DEV to become free > > > > > > > > > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 > > > > > > > > So it does fix the lock unbalance issue, but now there is a hang? > > > > > > I think this is an orthogonal issue. > > > > > > I saw this in another report as well. > > > https://lore.kernel.org/netdev/67f208ea.050a0220.0a13.025b.GAE@google.com/ > > > > > > syzbot may want to find a better way to filter this kind of noise. > > > > > > > Syzbot treats this message as a problem worthy of reporting since a > > long time (Cc'd Dmitry who may remember the context): > > https://github.com/google/syzkaller/commit/7a67784ca8bdc3b26cce2f0ec9a40d2dd9ec9396 > > > > Since v6.15-rc1, we do observe it happen at least 10x more often than > > before, both during fuzzing and while processing #syz test commands: > > https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 > > IIUC this error means a leaked reference count on a device, and the > device and everything it references leaked forever + a kernel thread > looping forever. This does not look like noise. > > Eric, should know more. Eric fixed a bunch of these bugs and added a > ref count tracker to devices to provide better diagnostics. For some > reason I don't see the reftracker output in the console output, but > CONFIG_NET_DEV_REFCNT_TRACKER=y is enabled in the config. I think that Kuniyuki patch was fixing the original syzbot report. After fixing this trivial bug, another bug showed up, and this second bug triggered "syzbot may want to find a better way to filter this kind of noise." comment. -ETOOMANYBUGS. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-08 11:33 ` Eric Dumazet @ 2025-04-08 20:16 ` Aleksandr Nogikh 2025-04-08 20:41 ` Eric Dumazet 0 siblings, 1 reply; 10+ messages in thread From: Aleksandr Nogikh @ 2025-04-08 20:16 UTC (permalink / raw) To: Eric Dumazet Cc: Dmitry Vyukov, Kuniyuki Iwashima, stfomichev, andrew, davem, horms, kuba, linux-kernel, netdev, pabeni, sdf, syzbot+45016fe295243a7882d3, syzkaller-bugs On Tue, Apr 8, 2025 at 1:33 PM Eric Dumazet <edumazet@google.com> wrote: > > On Tue, Apr 8, 2025 at 12:44 PM Dmitry Vyukov <dvyukov@google.com> wrote: > > > > On Tue, 8 Apr 2025 at 10:11, Aleksandr Nogikh <nogikh@google.com> wrote: > > > > > > On Mon, Apr 7, 2025 at 6:13 PM 'Kuniyuki Iwashima' via syzkaller-bugs > > > <syzkaller-bugs@googlegroups.com> wrote: > > > > > > > > From: Stanislav Fomichev <stfomichev@gmail.com> > > > > Date: Mon, 7 Apr 2025 07:19:54 -0700 > > > > > On 04/07, syzbot wrote: > > > > > > Hello, > > > > > > > > > > > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > > > > > > unregister_netdevice: waiting for DEV to become free > > > > > > > > > > > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 > > > > > > > > > > So it does fix the lock unbalance issue, but now there is a hang? > > > > > > > > I think this is an orthogonal issue. > > > > > > > > I saw this in another report as well. > > > > https://lore.kernel.org/netdev/67f208ea.050a0220.0a13.025b.GAE@google.com/ > > > > > > > > syzbot may want to find a better way to filter this kind of noise. > > > > > > > > > > Syzbot treats this message as a problem worthy of reporting since a > > > long time (Cc'd Dmitry who may remember the context): > > > https://github.com/google/syzkaller/commit/7a67784ca8bdc3b26cce2f0ec9a40d2dd9ec9396 > > > > > > Since v6.15-rc1, we do observe it happen at least 10x more often than > > > before, both during fuzzing and while processing #syz test commands: > > > https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 > > > > IIUC this error means a leaked reference count on a device, and the > > device and everything it references leaked forever + a kernel thread > > looping forever. This does not look like noise. > > > > Eric, should know more. Eric fixed a bunch of these bugs and added a > > ref count tracker to devices to provide better diagnostics. For some > > reason I don't see the reftracker output in the console output, but > > CONFIG_NET_DEV_REFCNT_TRACKER=y is enabled in the config. > > I think that Kuniyuki patch was fixing the original syzbot report. > > After fixing this trivial bug, another bug showed up, > and this second bug triggered "syzbot may want to find a better way to > filter this kind of noise." comment. FWIW I've just bisected the recent spike in "unregister_netdevice: waiting for batadv0 to become free" and git bisect pointed to: 00b35530811f2aa3d7ceec2dbada80861c7632a8 Author: Eric Dumazet <edumazet@google.com> Date: Thu Feb 6 14:04:22 2025 +0000 batman-adv: adopt netdev_hold() / netdev_put() Add a device tracker to struct batadv_hard_iface to help debugging of network device refcount imbalances. Eric, could you please have a look? > > > -ETOOMANYBUGS. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [net?] WARNING: bad unlock balance in do_setlink 2025-04-08 20:16 ` Aleksandr Nogikh @ 2025-04-08 20:41 ` Eric Dumazet 0 siblings, 0 replies; 10+ messages in thread From: Eric Dumazet @ 2025-04-08 20:41 UTC (permalink / raw) To: Aleksandr Nogikh, Sven Eckelmann Cc: Dmitry Vyukov, Kuniyuki Iwashima, stfomichev, andrew, davem, horms, kuba, linux-kernel, netdev, pabeni, sdf, syzbot+45016fe295243a7882d3, syzkaller-bugs On Tue, Apr 8, 2025 at 10:16 PM Aleksandr Nogikh <nogikh@google.com> wrote: > > On Tue, Apr 8, 2025 at 1:33 PM Eric Dumazet <edumazet@google.com> wrote: > > > > On Tue, Apr 8, 2025 at 12:44 PM Dmitry Vyukov <dvyukov@google.com> wrote: > > > > > > On Tue, 8 Apr 2025 at 10:11, Aleksandr Nogikh <nogikh@google.com> wrote: > > > > > > > > On Mon, Apr 7, 2025 at 6:13 PM 'Kuniyuki Iwashima' via syzkaller-bugs > > > > <syzkaller-bugs@googlegroups.com> wrote: > > > > > > > > > > From: Stanislav Fomichev <stfomichev@gmail.com> > > > > > Date: Mon, 7 Apr 2025 07:19:54 -0700 > > > > > > On 04/07, syzbot wrote: > > > > > > > Hello, > > > > > > > > > > > > > > syzbot has tested the proposed patch but the reproducer is still triggering an issue: > > > > > > > unregister_netdevice: waiting for DEV to become free > > > > > > > > > > > > > > unregister_netdevice: waiting for batadv0 to become free. Usage count = 3 > > > > > > > > > > > > So it does fix the lock unbalance issue, but now there is a hang? > > > > > > > > > > I think this is an orthogonal issue. > > > > > > > > > > I saw this in another report as well. > > > > > https://lore.kernel.org/netdev/67f208ea.050a0220.0a13.025b.GAE@google.com/ > > > > > > > > > > syzbot may want to find a better way to filter this kind of noise. > > > > > > > > > > > > > Syzbot treats this message as a problem worthy of reporting since a > > > > long time (Cc'd Dmitry who may remember the context): > > > > https://github.com/google/syzkaller/commit/7a67784ca8bdc3b26cce2f0ec9a40d2dd9ec9396 > > > > > > > > Since v6.15-rc1, we do observe it happen at least 10x more often than > > > > before, both during fuzzing and while processing #syz test commands: > > > > https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 > > > > > > IIUC this error means a leaked reference count on a device, and the > > > device and everything it references leaked forever + a kernel thread > > > looping forever. This does not look like noise. > > > > > > Eric, should know more. Eric fixed a bunch of these bugs and added a > > > ref count tracker to devices to provide better diagnostics. For some > > > reason I don't see the reftracker output in the console output, but > > > CONFIG_NET_DEV_REFCNT_TRACKER=y is enabled in the config. > > > > I think that Kuniyuki patch was fixing the original syzbot report. > > > > After fixing this trivial bug, another bug showed up, > > and this second bug triggered "syzbot may want to find a better way to > > filter this kind of noise." comment. > > FWIW I've just bisected the recent spike in "unregister_netdevice: > waiting for batadv0 to become free" and git bisect pointed to: > > 00b35530811f2aa3d7ceec2dbada80861c7632a8 > Author: Eric Dumazet <edumazet@google.com> > Date: Thu Feb 6 14:04:22 2025 +0000 > > batman-adv: adopt netdev_hold() / netdev_put() > > Add a device tracker to struct batadv_hard_iface to help > debugging of network device refcount imbalances. > > > Eric, could you please have a look? > My original patch was : https://lore.kernel.org/netdev/CANn89i+ySFS5C24guM9E9UsPWfQBL69-OoRDbOGfih9vLGxDJg@mail.gmail.com/T/ I think it was correct. Then Sven added code in it, instead of adding a separate patch. I guess a fix would be : diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c index f145f96626531053bbf8f58a31f28f625a9d80f9..7cd4bdcee43935b9e5fb7d1696430909b7af67b4 100644 --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c @@ -725,7 +725,6 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, kref_get(&hard_iface->refcount); - dev_hold(mesh_iface); netdev_hold(mesh_iface, &hard_iface->meshif_dev_tracker, GFP_ATOMIC); hard_iface->mesh_iface = mesh_iface; bat_priv = netdev_priv(hard_iface->mesh_iface); ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-04-08 20:41 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-04-07 5:57 [syzbot] [net?] WARNING: bad unlock balance in do_setlink syzbot 2025-04-07 6:37 ` Kuniyuki Iwashima 2025-04-07 8:13 ` syzbot 2025-04-07 14:19 ` Stanislav Fomichev 2025-04-07 16:12 ` Kuniyuki Iwashima 2025-04-08 8:11 ` Aleksandr Nogikh 2025-04-08 10:44 ` Dmitry Vyukov 2025-04-08 11:33 ` Eric Dumazet 2025-04-08 20:16 ` Aleksandr Nogikh 2025-04-08 20:41 ` Eric Dumazet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).