syzbot


BUG: sleeping function called from invalid context in team_change_rx_flags

Status: upstream: reported C repro on 2025/05/20 13:09
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+b191b5ccad8d7a986286@syzkaller.appspotmail.com
Fix commit: d8d85ef0a631 af_packet: move notifier's packet_dev_mc out of rcu critical section
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu-native-arm64-kvm]
First crash: 28d, last: 1d16h
Cause bisection: introduced by (bisect log) :
commit 6b1d3c5f675cc794a015138b115afff172fb4c58
Author: Stanislav Fomichev <stfomichev@gmail.com>
Date: Wed May 14 22:03:19 2025 +0000

  team: grab team lock during team_change_rx_flags

Crash: BUG: sleeping function called from invalid context in team_change_rx_flags (log)
Repro: C syz .config
  
Discussions (4)
Title Replies (including bot) Last reply
[PATCH net v2] af_packet: move notifier's packet_dev_mc out of rcu critical section 3 (3) 2025/05/27 13:50
[syzbot] [net?] BUG: sleeping function called from invalid context in team_change_rx_flags 1 (4) 2025/05/21 21:57
[PATCH net] af_packet: move notifier's packet_dev_mc out of rcu critical section 5 (5) 2025/05/21 16:54
Re: [PATCH (EXPERIMENTAL)] team: replace term lock with rtnl lock 1 (1) 2025/05/21 13:54
Last patch testing requests (2)
Created Duration User Patch Repo Result
2025/05/21 21:57 2h10m penguin-kernel@i-love.sakura.ne.jp patch net OK log
2025/05/20 17:24 49m stfomichev@gmail.com patch net OK log

Sample crash report:
team0: entered promiscuous mode
team_slave_0: entered promiscuous mode
team_slave_1: entered promiscuous mode
team0 (unregistering): left promiscuous mode
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:578
in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 5831, name: syz-executor316
preempt_count: 0, expected: 0
RCU nest depth: 1, expected: 0
2 locks held by syz-executor316/5831:
 #0: ffffffff8f2f7408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock net/core/rtnetlink.c:80 [inline]
 #0: ffffffff8f2f7408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_net_lock include/linux/rtnetlink.h:130 [inline]
 #0: ffffffff8f2f7408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_dellink+0x331/0x710 net/core/rtnetlink.c:3556
 #1: ffffffff8df3dce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
 #1: ffffffff8df3dce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline]
 #1: ffffffff8df3dce0 (rcu_read_lock){....}-{1:3}, at: packet_notifier+0x78/0xa60 net/packet/af_packet.c:4240
CPU: 0 UID: 0 PID: 5831 Comm: syz-executor316 Not tainted 6.15.0-rc6-syzkaller-00168-g239af1970bcb #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 __might_resched+0x495/0x610 kernel/sched/core.c:8818
 __mutex_lock_common kernel/locking/mutex.c:578 [inline]
 __mutex_lock+0x106/0xe80 kernel/locking/mutex.c:746
 team_change_rx_flags+0x38/0x220 drivers/net/team/team_core.c:1781
 dev_change_rx_flags net/core/dev.c:9145 [inline]
 __dev_set_promiscuity+0x3f8/0x590 net/core/dev.c:9189
 netif_set_promiscuity+0x50/0xe0 net/core/dev.c:9201
 dev_set_promiscuity+0x126/0x260 net/core/dev_api.c:286
 packet_dev_mc net/packet/af_packet.c:3698 [inline]
 packet_dev_mclist_delete net/packet/af_packet.c:3722 [inline]
 packet_notifier+0x292/0xa60 net/packet/af_packet.c:4247
 notifier_call_chain+0x1b3/0x3e0 kernel/notifier.c:85
 call_netdevice_notifiers_extack net/core/dev.c:2214 [inline]
 call_netdevice_notifiers net/core/dev.c:2228 [inline]
 unregister_netdevice_many_notify+0x15d8/0x2330 net/core/dev.c:11972
 rtnl_delete_link net/core/rtnetlink.c:3522 [inline]
 rtnl_dellink+0x488/0x710 net/core/rtnetlink.c:3564
 rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6955
 netlink_rcv_skb+0x219/0x490 net/netlink/af_netlink.c:2534
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x75b/0x8d0 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x219/0x270 net/socket.c:727
 ____sys_sendmsg+0x505/0x830 net/socket.c:2566
 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2620
 __sys_sendmsg net/socket.c:2652 [inline]
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2655
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fa537a5c859
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 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:00007fff93fbcb88 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa537a5c859
RDX: 0000000000000000 RSI: 00002000000001c0 RDI: 0000000000000004
RBP: 00007fa537aaa47d R08: 0000555500000000 R09: 0000555500000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fa537aaa3e5
R13: 0000000000000001 R14: 00007fff93fbcbd0 R15: 0000000000000003
 </TASK>

=============================
[ BUG: Invalid wait context ]
6.15.0-rc6-syzkaller-00168-g239af1970bcb #0 Tainted: G        W          
-----------------------------
syz-executor316/5831 is trying to lock:
ffff888076094e00 (team->team_lock_key){+.+.}-{4:4}, at: team_change_rx_flags+0x38/0x220 drivers/net/team/team_core.c:1781
other info that might help us debug this:
context-{5:5}
2 locks held by syz-executor316/5831:
 #0: ffffffff8f2f7408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock net/core/rtnetlink.c:80 [inline]
 #0: ffffffff8f2f7408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_net_lock include/linux/rtnetlink.h:130 [inline]
 #0: ffffffff8f2f7408 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_dellink+0x331/0x710 net/core/rtnetlink.c:3556
 #1: ffffffff8df3dce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
 #1: ffffffff8df3dce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline]
 #1: ffffffff8df3dce0 (rcu_read_lock){....}-{1:3}, at: packet_notifier+0x78/0xa60 net/packet/af_packet.c:4240
stack backtrace:
CPU: 0 UID: 0 PID: 5831 Comm: syz-executor316 Tainted: G        W           6.15.0-rc6-syzkaller-00168-g239af1970bcb #0 PREEMPT(full) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 print_lock_invalid_wait_context kernel/locking/lockdep.c:4831 [inline]
 check_wait_context kernel/locking/lockdep.c:4903 [inline]
 __lock_acquire+0xbcf/0xd20 kernel/locking/lockdep.c:5185
 lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5866
 __mutex_lock_common kernel/locking/mutex.c:601 [inline]
 __mutex_lock+0x182/0xe80 kernel/locking/mutex.c:746
 team_change_rx_flags+0x38/0x220 drivers/net/team/team_core.c:1781
 dev_change_rx_flags net/core/dev.c:9145 [inline]
 __dev_set_promiscuity+0x3f8/0x590 net/core/dev.c:9189
 netif_set_promiscuity+0x50/0xe0 net/core/dev.c:9201
 dev_set_promiscuity+0x126/0x260 net/core/dev_api.c:286
 packet_dev_mc net/packet/af_packet.c:3698 [inline]
 packet_dev_mclist_delete net/packet/af_packet.c:3722 [inline]
 packet_notifier+0x292/0xa60 net/packet/af_packet.c:4247
 notifier_call_chain+0x1b3/0x3e0 kernel/notifier.c:85
 call_netdevice_notifiers_extack net/core/dev.c:2214 [inline]
 call_netdevice_notifiers net/core/dev.c:2228 [inline]
 unregister_netdevice_many_notify+0x15d8/0x2330 net/core/dev.c:11972
 rtnl_delete_link net/core/rtnetlink.c:3522 [inline]
 rtnl_dellink+0x488/0x710 net/core/rtnetlink.c:3564
 rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6955
 netlink_rcv_skb+0x219/0x490 net/netlink/af_netlink.c:2534
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x75b/0x8d0 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x219/0x270 net/socket.c:727
 ____sys_sendmsg+0x505/0x830 net/socket.c:2566
 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2620
 __sys_sendmsg net/socket.c:2652 [inline]
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2655
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fa537a5c859
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 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:00007fff93fbcb88 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa537a5c859
RDX: 0000000000000000 RSI: 00002000000001c0 RDI: 0000000000000004
RBP: 00007fa537aaa47d R08: 0000555500000000 R09: 0000555500000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fa537aaa3e5
R13: 0000000000000001 R14: 00007fff93fbcbd0 R15: 0000000000000003
 </TASK>
team_slave_0: left promiscuous mode
team_slave_1: left promiscuous mode
team0 (unregistering): Port device team_slave_0 removed
team0 (unregistering): Port device team_slave_1 removed

Crashes (34):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/19 19:10 net 239af1970bcb f41472b0 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/19 18:09 net 239af1970bcb f41472b0 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/19 16:59 net 239af1970bcb f41472b0 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/19 16:04 net 239af1970bcb f41472b0 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/15 13:36 upstream 8c6bc74c7f89 5f4b362d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/15 13:35 upstream 8c6bc74c7f89 5f4b362d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/15 13:34 upstream 8c6bc74c7f89 5f4b362d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/14 08:36 upstream 02adc1490e6d 0e8da31f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/14 04:31 upstream 02adc1490e6d 0e8da31f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/13 08:40 upstream 27605c8c0f69 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/13 08:40 upstream 27605c8c0f69 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/11 00:08 upstream f09079bd04a9 5d7e17ca .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/08 14:31 upstream 8630c59e9936 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/11 06:34 upstream aef17cb3d3c4 5d7e17ca .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/10 08:36 upstream f09079bd04a9 4826c28e .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/23 09:10 upstream 5cdb2c77c4c3 fa44301a .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/22 22:54 upstream 5cdb2c77c4c3 fa44301a .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/15 07:48 net 5466491c9e33 5f4b362d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/15 02:44 net 5466491c9e33 5f4b362d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/12 06:01 net d9816ec74e6d 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/11 19:43 net d9816ec74e6d 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/09 04:39 net 82cbd06f327f 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/05 22:39 net 919d763d6094 6b6b5f21 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/25 06:56 net 5cdb2c77c4c3 ed351ea7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/19 15:04 net 239af1970bcb f41472b0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/13 03:43 net-next b549faa950e6 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/11 19:19 net-next 0097c4195b1d 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/10 11:11 net-next 2c7e4a2663a1 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/09 20:31 net-next 2c7e4a2663a1 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/09 01:00 net-next 2c7e4a2663a1 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/06 12:30 net-next 2c7e4a2663a1 f61267d4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/05/25 18:31 net-next d09a8a4ab578 ed351ea7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/07 09:00 linux-next 475c850a7fdd 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root BUG: sleeping function called from invalid context in team_change_rx_flags
2025/06/11 23:40 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 19272b37aa4f 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: sleeping function called from invalid context in team_change_rx_flags
* Struck through repros no longer work on HEAD.