[syzbot] [net?] WARNING: refcount bug in nsim_fib_event_nb
From: syzbot <hidden>
Date: 2024-09-26 09:06:24
Also in:
lkml
Hello, syzbot found the following issue on: HEAD commit: d759ee240d3c Merge tag 'net-6.11-rc7' of git://git.kernel... git tree: net console output: https://syzkaller.appspot.com/x/log.txt?x=17166f29980000 kernel config: https://syzkaller.appspot.com/x/.config?x=660f6eb11f9c7dc5 dashboard link: https://syzkaller.appspot.com/bug?extid=ed81dabfbde89a6311b5 compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 Unfortunately, I don't have any reproducer for this issue yet. Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/d0ae115b9910/disk-d759ee24.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/5c4b4ce8a5a5/vmlinux-d759ee24.xz kernel image: https://storage.googleapis.com/syzbot-assets/b98d3ce897eb/bzImage-d759ee24.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+ed81dabfbde89a6311b5@syzkaller.appspotmail.com ------------[ cut here ]------------ refcount_t: addition on 0; use-after-free. WARNING: CPU: 0 PID: 6557 at lib/refcount.c:25 refcount_warn_saturate+0x13a/0x1d0 lib/refcount.c:25 Modules linked in: CPU: 0 UID: 0 PID: 6557 Comm: kworker/u8:16 Not tainted 6.11.0-rc6-syzkaller-00178-gd759ee240d3c #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Workqueue: netns cleanup_net RIP: 0010:refcount_warn_saturate+0x13a/0x1d0 lib/refcount.c:25 Code: a0 3a 60 8c e8 d7 2d a3 fc 90 0f 0b 90 90 eb b9 e8 9b 09 e1 fc c6 05 d2 c4 4f 0b 01 90 48 c7 c7 00 3b 60 8c e8 b7 2d a3 fc 90 <0f> 0b 90 90 eb 99 e8 7b 09 e1 fc c6 05 b3 c4 4f 0b 01 90 48 c7 c7 RSP: 0018:ffffc90014d973a0 EFLAGS: 00010246 RAX: ccfc4fa8067d8700 RBX: ffff888025a89a3c RCX: ffff888035538000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: 0000000000000002 R08: ffffffff8155b372 R09: fffffbfff1cfa0e0 R10: dffffc0000000000 R11: fffffbfff1cfa0e0 R12: ffffffffffffffff R13: ffff88805e847000 R14: ffff888025a89a3c R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ff487f626e0 CR3: 000000002b560000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> __refcount_inc include/linux/refcount.h:241 [inline] refcount_inc include/linux/refcount.h:258 [inline] fib_info_hold include/net/ip_fib.h:606 [inline] nsim_fib4_prepare_event drivers/net/netdevsim/fib.c:930 [inline] nsim_fib_event_schedule_work drivers/net/netdevsim/fib.c:1000 [inline] nsim_fib_event_nb+0xee9/0x10b0 drivers/net/netdevsim/fib.c:1043 call_fib_notifier+0x42/0x70 net/core/fib_notifier.c:24 call_fib_entry_notifier net/ipv4/fib_trie.c:90 [inline] fib_leaf_notify net/ipv4/fib_trie.c:2204 [inline] fib_table_notify net/ipv4/fib_trie.c:2222 [inline] fib_notify+0x445/0x780 net/ipv4/fib_trie.c:2245 fib_net_dump net/core/fib_notifier.c:71 [inline] register_fib_notifier+0x182/0x370 net/core/fib_notifier.c:109 nsim_fib_create+0x902/0xa70 drivers/net/netdevsim/fib.c:1595 nsim_dev_reload_create drivers/net/netdevsim/dev.c:1480 [inline] nsim_dev_reload_up+0x3d1/0x8e0 drivers/net/netdevsim/dev.c:985 devlink_reload+0x478/0x870 net/devlink/dev.c:474 devlink_pernet_pre_exit+0x1f3/0x440 net/devlink/core.c:509 ops_pre_exit_list net/core/net_namespace.c:163 [inline] cleanup_net+0x615/0xcc0 net/core/net_namespace.c:620 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK> --- 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. If the report is already addressed, let syzbot know by replying with: #syz fix: exact-commit-title 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