From: syzbot ci <syzbot+cieee6b6974f07e792@syzkaller.appspotmail.com>
To: davem@davemloft.net, dsahern@kernel.org, edumazet@google.com,
horms@kernel.org, idosch@nvidia.com, jiayuan.chen@linux.dev,
kuba@kernel.org, kuniyu@google.com,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
pabeni@redhat.com
Cc: syzbot@lists.linux.dev, syzkaller-bugs@googlegroups.com
Subject: [syzbot ci] Re: ipv6: anycast: insert aca into global hash under idev->lock
Date: Fri, 29 May 2026 01:31:51 -0700 [thread overview]
Message-ID: <6a194ef7.ba3b1513.1890b4.0000.GAE@google.com> (raw)
In-Reply-To: <20260529032026.363856-1-jiayuan.chen@linux.dev>
syzbot ci has tested the following series
[v1] ipv6: anycast: insert aca into global hash under idev->lock
https://lore.kernel.org/all/20260529032026.363856-1-jiayuan.chen@linux.dev
* [PATCH net] ipv6: anycast: insert aca into global hash under idev->lock
and found the following issues:
* possible deadlock in __ipv6_dev_ac_dec
* possible deadlock in addrconf_rs_timer
Full report is available here:
https://ci.syzbot.org/series/00cb20f0-c599-468e-b3de-b109499c1db5
***
possible deadlock in __ipv6_dev_ac_dec
tree: net
URL: https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git
base: ab4ac5a93b1b76aa6b12cadcba30450868d21a6f
arch: amd64
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
config: https://ci.syzbot.org/builds/9ba0a1a3-43c2-4334-8f26-942c72690313/config
syz repro: https://ci.syzbot.org/findings/54a509b9-82dc-4a61-a5c4-701533f277d6/syz_repro
========================================================
WARNING: possible irq lock inversion dependency detected
syzkaller #0 Not tainted
--------------------------------------------------------
syz.2.19/5872 just changed the state of lock:
ffffffff8fef3d98 (acaddr_hash_lock){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline]
ffffffff8fef3d98 (acaddr_hash_lock){+.+.}-{3:3}, at: ipv6_del_acaddr_hash net/ipv6/anycast.c:253 [inline]
ffffffff8fef3d98 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x459/0x690 net/ipv6/anycast.c:419
but this lock was taken by another, SOFTIRQ-safe lock in the past:
(&ndev->lock){++--}-{3:3}
and interrupts could create inverse lock ordering between them.
other info that might help us debug this:
Possible interrupt unsafe locking scenario:
CPU0 CPU1
---- ----
lock(acaddr_hash_lock
);
local_irq_disable();
lock(&ndev->lock);
lock(acaddr_hash_lock);
<Interrupt>
lock(&ndev->lock);
*** DEADLOCK ***
1 lock held by syz.2.19/5872:
#0: ffff8881b52abe40 (&sb->s_type->i_mutex_key#13){+.+.}-{4:4}
, at: inode_lock include/linux/fs.h:1029 [inline]
, at: __sock_release net/socket.c:721 [inline]
, at: sock_close+0x9b/0x240 net/socket.c:1514
the shortest dependencies between 2nd lock and 1st lock:
-> (&ndev->lock){++--}-{3:3} {
HARDIRQ-ON-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock_bh include/linux/rwlock_api_smp.h:221 [inline]
_raw_write_lock_bh+0x36/0x50 kernel/locking/spinlock.c:338
addrconf_permanent_addr+0x16a/0xa20 net/ipv6/addrconf.c:3627
addrconf_notify+0x864/0x1050 net/ipv6/addrconf.c:3706
notifier_call_chain+0x1ad/0x3d0 kernel/notifier.c:85
call_netdevice_notifiers_extack net/core/dev.c:2287 [inline]
call_netdevice_notifiers net/core/dev.c:2301 [inline]
__dev_notify_flags+0x1a9/0x310 net/core/dev.c:9797
netif_change_flags+0xe8/0x1a0 net/core/dev.c:9826
dev_change_flags+0x130/0x270 net/core/dev_api.c:68
devinet_ioctl+0x9f2/0x1b30 net/ipv4/devinet.c:1199
inet_ioctl+0x42a/0x560 net/ipv4/af_inet.c:1011
sock_do_ioctl+0x101/0x320 net/socket.c:1313
sock_ioctl+0x5c6/0x7f0 net/socket.c:1434
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
HARDIRQ-ON-R at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_read_lock_bh include/linux/rwlock_api_smp.h:192 [inline]
_raw_read_lock_bh+0x3e/0x50 kernel/locking/spinlock.c:256
inet6_fill_ifla6_attrs+0x1117/0x25e0 net/ipv6/addrconf.c:5858
inet6_fill_link_af+0x9b/0x120 net/ipv6/addrconf.c:5893
rtnl_fill_link_af+0x1c8/0x440 net/core/rtnetlink.c:1919
rtnl_fill_ifinfo+0x1e08/0x20f0 net/core/rtnetlink.c:2190
rtmsg_ifinfo_build_skb+0x17d/0x260 net/core/rtnetlink.c:4454
rtmsg_ifinfo_event net/core/rtnetlink.c:4487 [inline]
rtmsg_ifinfo+0x8c/0x1a0 net/core/rtnetlink.c:4496
register_netdevice+0x1aca/0x1ec0 net/core/dev.c:11475
register_netdev+0x40/0x60 net/core/dev.c:11539
vti6_init_net+0x238/0x370 net/ipv6/ip6_vti.c:1167
ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
__register_pernet_operations net/core/net_namespace.c:1318 [inline]
register_pernet_operations+0x343/0x830 net/core/net_namespace.c:1395
register_pernet_device+0x2a/0x80 net/core/net_namespace.c:1482
vti6_tunnel_init+0x13/0x170 net/ipv6/ip6_vti.c:1251
do_one_initcall+0x250/0x870 init/main.c:1392
do_initcall_level+0x104/0x190 init/main.c:1454
do_initcalls+0x59/0xa0 init/main.c:1470
kernel_init_freeable+0x2a6/0x3e0 init/main.c:1703
kernel_init+0x1d/0x1d0 init/main.c:1593
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
IN-SOFTIRQ-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock include/linux/rwlock_api_smp.h:229 [inline]
_raw_write_lock+0x2e/0x40 kernel/locking/spinlock.c:304
addrconf_rs_timer+0xc8/0x6d0 net/ipv6/addrconf.c:4033
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x22a/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1061
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline]
pv_native_safe_halt+0xf/0x20 arch/x86/kernel/paravirt.c:62
arch_safe_halt arch/x86/kernel/process.c:766 [inline]
default_idle+0x9/0x20 arch/x86/kernel/process.c:767
default_idle_call+0x72/0xb0 kernel/sched/idle.c:122
cpuidle_idle_call kernel/sched/idle.c:199 [inline]
do_idle+0x36a/0x5f0 kernel/sched/idle.c:352
cpu_startup_entry+0x43/0x60 kernel/sched/idle.c:451
start_secondary+0x101/0x110 arch/x86/kernel/smpboot.c:312
common_startup_64+0x13e/0x147
IN-SOFTIRQ-R at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_read_lock_bh include/linux/rwlock_api_smp.h:192 [inline]
_raw_read_lock_bh+0x3e/0x50 kernel/locking/spinlock.c:256
ipv6_get_lladdr+0x15d/0x3f0 net/ipv6/addrconf.c:1940
addrconf_rs_timer+0x337/0x6d0 net/ipv6/addrconf.c:4048
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x22a/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1061
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline]
pv_native_safe_halt+0xf/0x20 arch/x86/kernel/paravirt.c:62
arch_safe_halt arch/x86/kernel/process.c:766 [inline]
default_idle+0x9/0x20 arch/x86/kernel/process.c:767
default_idle_call+0x72/0xb0 kernel/sched/idle.c:122
cpuidle_idle_call kernel/sched/idle.c:199 [inline]
do_idle+0x36a/0x5f0 kernel/sched/idle.c:352
cpu_startup_entry+0x43/0x60 kernel/sched/idle.c:451
start_secondary+0x101/0x110 arch/x86/kernel/smpboot.c:312
common_startup_64+0x13e/0x147
INITIAL USE at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock_bh include/linux/rwlock_api_smp.h:221 [inline]
_raw_write_lock_bh+0x36/0x50 kernel/locking/spinlock.c:338
addrconf_permanent_addr+0x16a/0xa20 net/ipv6/addrconf.c:3627
addrconf_notify+0x864/0x1050 net/ipv6/addrconf.c:3706
notifier_call_chain+0x1ad/0x3d0 kernel/notifier.c:85
call_netdevice_notifiers_extack net/core/dev.c:2287 [inline]
call_netdevice_notifiers net/core/dev.c:2301 [inline]
__dev_notify_flags+0x1a9/0x310 net/core/dev.c:9797
netif_change_flags+0xe8/0x1a0 net/core/dev.c:9826
dev_change_flags+0x130/0x270 net/core/dev_api.c:68
devinet_ioctl+0x9f2/0x1b30 net/ipv4/devinet.c:1199
inet_ioctl+0x42a/0x560 net/ipv4/af_inet.c:1011
sock_do_ioctl+0x101/0x320 net/socket.c:1313
sock_ioctl+0x5c6/0x7f0 net/socket.c:1434
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
INITIAL READ USE at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_read_lock_bh include/linux/rwlock_api_smp.h:192 [inline]
_raw_read_lock_bh+0x3e/0x50 kernel/locking/spinlock.c:256
inet6_fill_ifla6_attrs+0x1117/0x25e0 net/ipv6/addrconf.c:5858
inet6_fill_link_af+0x9b/0x120 net/ipv6/addrconf.c:5893
rtnl_fill_link_af+0x1c8/0x440 net/core/rtnetlink.c:1919
rtnl_fill_ifinfo+0x1e08/0x20f0 net/core/rtnetlink.c:2190
rtmsg_ifinfo_build_skb+0x17d/0x260 net/core/rtnetlink.c:4454
rtmsg_ifinfo_event net/core/rtnetlink.c:4487 [inline]
rtmsg_ifinfo+0x8c/0x1a0 net/core/rtnetlink.c:4496
register_netdevice+0x1aca/0x1ec0 net/core/dev.c:11475
register_netdev+0x40/0x60 net/core/dev.c:11539
vti6_init_net+0x238/0x370 net/ipv6/ip6_vti.c:1167
ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
__register_pernet_operations net/core/net_namespace.c:1318 [inline]
register_pernet_operations+0x343/0x830 net/core/net_namespace.c:1395
register_pernet_device+0x2a/0x80 net/core/net_namespace.c:1482
vti6_tunnel_init+0x13/0x170 net/ipv6/ip6_vti.c:1251
do_one_initcall+0x250/0x870 init/main.c:1392
do_initcall_level+0x104/0x190 init/main.c:1454
do_initcalls+0x59/0xa0 init/main.c:1470
kernel_init_freeable+0x2a6/0x3e0 init/main.c:1703
kernel_init+0x1d/0x1d0 init/main.c:1593
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
}
... key at: [<ffffffff9a982fe0>] ipv6_add_dev.__key+0x0/0x20
... acquired at:
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_add_acaddr_hash net/ipv6/anycast.c:246 [inline]
__ipv6_dev_ac_inc+0x6c8/0xb10 net/ipv6/anycast.c:374
ipv6_sock_ac_join+0x6a8/0x880 net/ipv6/anycast.c:153
do_ipv6_setsockopt+0x203a/0x3150 net/ipv6/ipv6_sockglue.c:893
ipv6_setsockopt+0x59/0x170 net/ipv6/ipv6_sockglue.c:965
do_sock_setsockopt+0x17c/0x1b0 net/socket.c:2381
__sys_setsockopt net/socket.c:2406 [inline]
__do_sys_setsockopt net/socket.c:2412 [inline]
__se_sys_setsockopt net/socket.c:2409 [inline]
__x64_sys_setsockopt+0x13d/0x1b0 net/socket.c:2409
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
-> (acaddr_hash_lock){+.+.}-{3:3} {
HARDIRQ-ON-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_add_acaddr_hash net/ipv6/anycast.c:246 [inline]
__ipv6_dev_ac_inc+0x6c8/0xb10 net/ipv6/anycast.c:374
ipv6_sock_ac_join+0x6a8/0x880 net/ipv6/anycast.c:153
do_ipv6_setsockopt+0x203a/0x3150 net/ipv6/ipv6_sockglue.c:893
ipv6_setsockopt+0x59/0x170 net/ipv6/ipv6_sockglue.c:965
do_sock_setsockopt+0x17c/0x1b0 net/socket.c:2381
__sys_setsockopt net/socket.c:2406 [inline]
__do_sys_setsockopt net/socket.c:2412 [inline]
__se_sys_setsockopt net/socket.c:2409 [inline]
__x64_sys_setsockopt+0x13d/0x1b0 net/socket.c:2409
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
SOFTIRQ-ON-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_del_acaddr_hash net/ipv6/anycast.c:253 [inline]
__ipv6_dev_ac_dec+0x459/0x690 net/ipv6/anycast.c:419
ipv6_dev_ac_dec net/ipv6/anycast.c:438 [inline]
__ipv6_sock_ac_close+0x24e/0x430 net/ipv6/anycast.c:224
inet6_release+0x4f/0x70 net/ipv6/af_inet6.c:470
__sock_release net/socket.c:722 [inline]
sock_close+0xc3/0x240 net/socket.c:1514
__fput+0x44f/0xa60 fs/file_table.c:510
task_work_run+0x1d9/0x270 kernel/task_work.c:233
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
__exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
exit_to_user_mode_loop+0xf3/0x4d0 kernel/entry/common.c:98
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
do_syscall_64+0x33e/0x560 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
INITIAL USE at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_add_acaddr_hash net/ipv6/anycast.c:246 [inline]
__ipv6_dev_ac_inc+0x6c8/0xb10 net/ipv6/anycast.c:374
ipv6_sock_ac_join+0x6a8/0x880 net/ipv6/anycast.c:153
do_ipv6_setsockopt+0x203a/0x3150 net/ipv6/ipv6_sockglue.c:893
ipv6_setsockopt+0x59/0x170 net/ipv6/ipv6_sockglue.c:965
do_sock_setsockopt+0x17c/0x1b0 net/socket.c:2381
__sys_setsockopt net/socket.c:2406 [inline]
__do_sys_setsockopt net/socket.c:2412 [inline]
__se_sys_setsockopt net/socket.c:2409 [inline]
__x64_sys_setsockopt+0x13d/0x1b0 net/socket.c:2409
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
}
... key at: [<ffffffff8fef3d98>] acaddr_hash_lock+0x18/0x60 anycast.c:-1
... acquired at:
mark_lock+0x115/0x190 kernel/locking/lockdep.c:4753
mark_usage kernel/locking/lockdep.c:-1 [inline]
__lock_acquire+0x9f9/0x2cf0 kernel/locking/lockdep.c:5191
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_del_acaddr_hash net/ipv6/anycast.c:253 [inline]
__ipv6_dev_ac_dec+0x459/0x690 net/ipv6/anycast.c:419
ipv6_dev_ac_dec net/ipv6/anycast.c:438 [inline]
__ipv6_sock_ac_close+0x24e/0x430 net/ipv6/anycast.c:224
inet6_release+0x4f/0x70 net/ipv6/af_inet6.c:470
__sock_release net/socket.c:722 [inline]
sock_close+0xc3/0x240 net/socket.c:1514
__fput+0x44f/0xa60 fs/file_table.c:510
task_work_run+0x1d9/0x270 kernel/task_work.c:233
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
__exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
exit_to_user_mode_loop+0xf3/0x4d0 kernel/entry/common.c:98
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
do_syscall_64+0x33e/0x560 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
stack backtrace:
CPU: 1 UID: 0 PID: 5872 Comm: syz.2.19 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
<TASK>
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
print_irq_inversion_bug+0x1d2/0x1e0 kernel/locking/lockdep.c:4125
mark_lock_irq+0x3d2/0x420 kernel/locking/lockdep.c:-1
mark_lock+0x115/0x190 kernel/locking/lockdep.c:4753
mark_usage kernel/locking/lockdep.c:-1 [inline]
__lock_acquire+0x9f9/0x2cf0 kernel/locking/lockdep.c:5191
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_del_acaddr_hash net/ipv6/anycast.c:253 [inline]
__ipv6_dev_ac_dec+0x459/0x690 net/ipv6/anycast.c:419
ipv6_dev_ac_dec net/ipv6/anycast.c:438 [inline]
__ipv6_sock_ac_close+0x24e/0x430 net/ipv6/anycast.c:224
inet6_release+0x4f/0x70 net/ipv6/af_inet6.c:470
__sock_release net/socket.c:722 [inline]
sock_close+0xc3/0x240 net/socket.c:1514
__fput+0x44f/0xa60 fs/file_table.c:510
task_work_run+0x1d9/0x270 kernel/task_work.c:233
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
__exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
exit_to_user_mode_loop+0xf3/0x4d0 kernel/entry/common.c:98
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
do_syscall_64+0x33e/0x560 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f2cd559ce59
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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe5c3cd978 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007ffe5c3cda60 RCX: 00007f2cd559ce59
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 000000000000fd56 R08: 0000000000000001 R09: 0000000000000000
R10: 0000001b32c20000 R11: 0000000000000246 R12: 00007ffe5c3cdaa0
R13: 00007f2cd5815fac R14: 000000000000fd8b R15: 00007f2cd5815fa0
</TASK>
***
possible deadlock in addrconf_rs_timer
tree: net
URL: https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git
base: ab4ac5a93b1b76aa6b12cadcba30450868d21a6f
arch: amd64
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
config: https://ci.syzbot.org/builds/9ba0a1a3-43c2-4334-8f26-942c72690313/config
syz repro: https://ci.syzbot.org/findings/e48c441f-1967-4acb-8d02-6ec4625160de/syz_repro
========================================================
WARNING: possible irq lock inversion dependency detected
syzkaller #0 Not tainted
--------------------------------------------------------
syz-executor/5739 just changed the state of lock:
ffff888114e00578 (&ndev->lock){++-.}-{3:3}, at: addrconf_rs_timer+0xc8/0x6d0 net/ipv6/addrconf.c:4033
but this lock took another, SOFTIRQ-unsafe lock in the past:
(acaddr_hash_lock){+.+.}-{3:3}
and interrupts could create inverse lock ordering between them.
other info that might help us debug this:
Possible interrupt unsafe locking scenario:
CPU0 CPU1
---- ----
lock(acaddr_hash_lock);
local_irq_disable();
lock(&ndev->lock);
lock(acaddr_hash_lock);
<Interrupt>
lock(&ndev->lock);
*** DEADLOCK ***
2 locks held by syz-executor/5739:
#0: ffff88816c92cce0 (&xt[i].mutex){+.+.}-{4:4}, at: xt_find_table_lock+0x51/0x3f0 net/netfilter/x_tables.c:1336
#1: ffffc90000007cc0 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd4/0x5e0 kernel/time/timer.c:1745
the shortest dependencies between 2nd lock and 1st lock:
-> (acaddr_hash_lock){+.+.}-{3:3} {
HARDIRQ-ON-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_add_acaddr_hash net/ipv6/anycast.c:246 [inline]
__ipv6_dev_ac_inc+0x6c8/0xb10 net/ipv6/anycast.c:374
ipv6_sock_ac_join+0x6a8/0x880 net/ipv6/anycast.c:153
do_ipv6_setsockopt+0x203a/0x3150 net/ipv6/ipv6_sockglue.c:893
ipv6_setsockopt+0x59/0x170 net/ipv6/ipv6_sockglue.c:965
do_sock_setsockopt+0x17c/0x1b0 net/socket.c:2381
__sys_setsockopt net/socket.c:2406 [inline]
__do_sys_setsockopt net/socket.c:2412 [inline]
__se_sys_setsockopt net/socket.c:2409 [inline]
__x64_sys_setsockopt+0x13d/0x1b0 net/socket.c:2409
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
SOFTIRQ-ON-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_del_acaddr_hash net/ipv6/anycast.c:253 [inline]
__ipv6_dev_ac_dec+0x459/0x690 net/ipv6/anycast.c:419
ipv6_dev_ac_dec net/ipv6/anycast.c:438 [inline]
__ipv6_sock_ac_close+0x24e/0x430 net/ipv6/anycast.c:224
inet6_release+0x4f/0x70 net/ipv6/af_inet6.c:470
__sock_release net/socket.c:722 [inline]
sock_close+0xc3/0x240 net/socket.c:1514
__fput+0x44f/0xa60 fs/file_table.c:510
task_work_run+0x1d9/0x270 kernel/task_work.c:233
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
__exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
exit_to_user_mode_loop+0xf3/0x4d0 kernel/entry/common.c:98
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
do_syscall_64+0x33e/0x560 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
INITIAL USE at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_add_acaddr_hash net/ipv6/anycast.c:246 [inline]
__ipv6_dev_ac_inc+0x6c8/0xb10 net/ipv6/anycast.c:374
ipv6_sock_ac_join+0x6a8/0x880 net/ipv6/anycast.c:153
do_ipv6_setsockopt+0x203a/0x3150 net/ipv6/ipv6_sockglue.c:893
ipv6_setsockopt+0x59/0x170 net/ipv6/ipv6_sockglue.c:965
do_sock_setsockopt+0x17c/0x1b0 net/socket.c:2381
__sys_setsockopt net/socket.c:2406 [inline]
__do_sys_setsockopt net/socket.c:2412 [inline]
__se_sys_setsockopt net/socket.c:2409 [inline]
__x64_sys_setsockopt+0x13d/0x1b0 net/socket.c:2409
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
}
... key at: [<ffffffff8fef3d98>] acaddr_hash_lock+0x18/0x60 anycast.c:-1
... acquired at:
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
ipv6_add_acaddr_hash net/ipv6/anycast.c:246 [inline]
__ipv6_dev_ac_inc+0x6c8/0xb10 net/ipv6/anycast.c:374
ipv6_sock_ac_join+0x6a8/0x880 net/ipv6/anycast.c:153
do_ipv6_setsockopt+0x203a/0x3150 net/ipv6/ipv6_sockglue.c:893
ipv6_setsockopt+0x59/0x170 net/ipv6/ipv6_sockglue.c:965
do_sock_setsockopt+0x17c/0x1b0 net/socket.c:2381
__sys_setsockopt net/socket.c:2406 [inline]
__do_sys_setsockopt net/socket.c:2412 [inline]
__se_sys_setsockopt net/socket.c:2409 [inline]
__x64_sys_setsockopt+0x13d/0x1b0 net/socket.c:2409
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
-> (&ndev->lock){++-.}-{3:3} {
HARDIRQ-ON-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock_bh include/linux/rwlock_api_smp.h:221 [inline]
_raw_write_lock_bh+0x36/0x50 kernel/locking/spinlock.c:338
addrconf_permanent_addr+0x16a/0xa20 net/ipv6/addrconf.c:3627
addrconf_notify+0x864/0x1050 net/ipv6/addrconf.c:3706
notifier_call_chain+0x1ad/0x3d0 kernel/notifier.c:85
call_netdevice_notifiers_extack net/core/dev.c:2287 [inline]
call_netdevice_notifiers net/core/dev.c:2301 [inline]
__dev_notify_flags+0x1a9/0x310 net/core/dev.c:9797
netif_change_flags+0xe8/0x1a0 net/core/dev.c:9826
dev_change_flags+0x130/0x270 net/core/dev_api.c:68
devinet_ioctl+0x9f2/0x1b30 net/ipv4/devinet.c:1199
inet_ioctl+0x42a/0x560 net/ipv4/af_inet.c:1011
sock_do_ioctl+0x101/0x320 net/socket.c:1313
sock_ioctl+0x5c6/0x7f0 net/socket.c:1434
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
HARDIRQ-ON-R at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_read_lock_bh include/linux/rwlock_api_smp.h:192 [inline]
_raw_read_lock_bh+0x3e/0x50 kernel/locking/spinlock.c:256
inet6_fill_ifla6_attrs+0x1117/0x25e0 net/ipv6/addrconf.c:5858
inet6_fill_link_af+0x9b/0x120 net/ipv6/addrconf.c:5893
rtnl_fill_link_af+0x1c8/0x440 net/core/rtnetlink.c:1919
rtnl_fill_ifinfo+0x1e08/0x20f0 net/core/rtnetlink.c:2190
rtmsg_ifinfo_build_skb+0x17d/0x260 net/core/rtnetlink.c:4454
rtmsg_ifinfo_event net/core/rtnetlink.c:4487 [inline]
rtmsg_ifinfo+0x8c/0x1a0 net/core/rtnetlink.c:4496
register_netdevice+0x1aca/0x1ec0 net/core/dev.c:11475
register_netdev+0x40/0x60 net/core/dev.c:11539
vti6_init_net+0x238/0x370 net/ipv6/ip6_vti.c:1167
ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
__register_pernet_operations net/core/net_namespace.c:1318 [inline]
register_pernet_operations+0x343/0x830 net/core/net_namespace.c:1395
register_pernet_device+0x2a/0x80 net/core/net_namespace.c:1482
vti6_tunnel_init+0x13/0x170 net/ipv6/ip6_vti.c:1251
do_one_initcall+0x250/0x870 init/main.c:1392
do_initcall_level+0x104/0x190 init/main.c:1454
do_initcalls+0x59/0xa0 init/main.c:1470
kernel_init_freeable+0x2a6/0x3e0 init/main.c:1703
kernel_init+0x1d/0x1d0 init/main.c:1593
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
IN-SOFTIRQ-W at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock include/linux/rwlock_api_smp.h:229 [inline]
_raw_write_lock+0x2e/0x40 kernel/locking/spinlock.c:304
addrconf_rs_timer+0xc8/0x6d0 net/ipv6/addrconf.c:4033
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x22a/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1061
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
zone_watermark_fast+0xf7/0x230 mm/page_alloc.c:3686
get_page_from_freelist+0x537/0x2610 mm/page_alloc.c:3885
__alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5221
__alloc_pages_noprof+0x10/0x100 mm/page_alloc.c:5255
alloc_pages_bulk_noprof+0x5ff/0x7c0 mm/page_alloc.c:5175
alloc_pages_bulk_mempolicy_noprof+0x34e/0x1680 mm/mempolicy.c:2798
vm_area_alloc_pages mm/vmalloc.c:3700 [inline]
__vmalloc_area_node mm/vmalloc.c:3878 [inline]
__vmalloc_node_range_noprof+0xad1/0x1750 mm/vmalloc.c:4064
__vmalloc_node_noprof mm/vmalloc.c:4124 [inline]
vzalloc_noprof+0xb2/0xe0 mm/vmalloc.c:4202
alloc_counters+0x64/0x5d0 net/ipv4/netfilter/ip_tables.c:799
copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:837 [inline]
get_entries net/ipv6/netfilter/ip6_tables.c:1039 [inline]
do_ip6t_get_ctl+0xabd/0x1230 net/ipv6/netfilter/ip6_tables.c:1677
nf_getsockopt+0x26e/0x290 net/netfilter/nf_sockopt.c:116
ipv6_getsockopt+0x1fd/0x2b0 net/ipv6/ipv6_sockglue.c:1464
do_sock_getsockopt+0x51d/0x7e0 net/socket.c:2487
__sys_getsockopt net/socket.c:2518 [inline]
__do_sys_getsockopt net/socket.c:2525 [inline]
__se_sys_getsockopt net/socket.c:2522 [inline]
__x64_sys_getsockopt+0x1a4/0x240 net/socket.c:2522
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
INITIAL USE at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock_bh include/linux/rwlock_api_smp.h:221 [inline]
_raw_write_lock_bh+0x36/0x50 kernel/locking/spinlock.c:338
addrconf_permanent_addr+0x16a/0xa20 net/ipv6/addrconf.c:3627
addrconf_notify+0x864/0x1050 net/ipv6/addrconf.c:3706
notifier_call_chain+0x1ad/0x3d0 kernel/notifier.c:85
call_netdevice_notifiers_extack net/core/dev.c:2287 [inline]
call_netdevice_notifiers net/core/dev.c:2301 [inline]
__dev_notify_flags+0x1a9/0x310 net/core/dev.c:9797
netif_change_flags+0xe8/0x1a0 net/core/dev.c:9826
dev_change_flags+0x130/0x270 net/core/dev_api.c:68
devinet_ioctl+0x9f2/0x1b30 net/ipv4/devinet.c:1199
inet_ioctl+0x42a/0x560 net/ipv4/af_inet.c:1011
sock_do_ioctl+0x101/0x320 net/socket.c:1313
sock_ioctl+0x5c6/0x7f0 net/socket.c:1434
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
INITIAL READ USE at:
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_read_lock_bh include/linux/rwlock_api_smp.h:192 [inline]
_raw_read_lock_bh+0x3e/0x50 kernel/locking/spinlock.c:256
inet6_fill_ifla6_attrs+0x1117/0x25e0 net/ipv6/addrconf.c:5858
inet6_fill_link_af+0x9b/0x120 net/ipv6/addrconf.c:5893
rtnl_fill_link_af+0x1c8/0x440 net/core/rtnetlink.c:1919
rtnl_fill_ifinfo+0x1e08/0x20f0 net/core/rtnetlink.c:2190
rtmsg_ifinfo_build_skb+0x17d/0x260 net/core/rtnetlink.c:4454
rtmsg_ifinfo_event net/core/rtnetlink.c:4487 [inline]
rtmsg_ifinfo+0x8c/0x1a0 net/core/rtnetlink.c:4496
register_netdevice+0x1aca/0x1ec0 net/core/dev.c:11475
register_netdev+0x40/0x60 net/core/dev.c:11539
vti6_init_net+0x238/0x370 net/ipv6/ip6_vti.c:1167
ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
__register_pernet_operations net/core/net_namespace.c:1318 [inline]
register_pernet_operations+0x343/0x830 net/core/net_namespace.c:1395
register_pernet_device+0x2a/0x80 net/core/net_namespace.c:1482
vti6_tunnel_init+0x13/0x170 net/ipv6/ip6_vti.c:1251
do_one_initcall+0x250/0x870 init/main.c:1392
do_initcall_level+0x104/0x190 init/main.c:1454
do_initcalls+0x59/0xa0 init/main.c:1470
kernel_init_freeable+0x2a6/0x3e0 init/main.c:1703
kernel_init+0x1d/0x1d0 init/main.c:1593
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
}
... key at: [<ffffffff9a982fe0>] ipv6_add_dev.__key+0x0/0x20
... acquired at:
mark_lock+0x115/0x190 kernel/locking/lockdep.c:4753
mark_usage kernel/locking/lockdep.c:-1 [inline]
__lock_acquire+0x689/0x2cf0 kernel/locking/lockdep.c:5191
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock include/linux/rwlock_api_smp.h:229 [inline]
_raw_write_lock+0x2e/0x40 kernel/locking/spinlock.c:304
addrconf_rs_timer+0xc8/0x6d0 net/ipv6/addrconf.c:4033
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x22a/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1061
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
zone_watermark_fast+0xf7/0x230 mm/page_alloc.c:3686
get_page_from_freelist+0x537/0x2610 mm/page_alloc.c:3885
__alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5221
__alloc_pages_noprof+0x10/0x100 mm/page_alloc.c:5255
alloc_pages_bulk_noprof+0x5ff/0x7c0 mm/page_alloc.c:5175
alloc_pages_bulk_mempolicy_noprof+0x34e/0x1680 mm/mempolicy.c:2798
vm_area_alloc_pages mm/vmalloc.c:3700 [inline]
__vmalloc_area_node mm/vmalloc.c:3878 [inline]
__vmalloc_node_range_noprof+0xad1/0x1750 mm/vmalloc.c:4064
__vmalloc_node_noprof mm/vmalloc.c:4124 [inline]
vzalloc_noprof+0xb2/0xe0 mm/vmalloc.c:4202
alloc_counters+0x64/0x5d0 net/ipv4/netfilter/ip_tables.c:799
copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:837 [inline]
get_entries net/ipv6/netfilter/ip6_tables.c:1039 [inline]
do_ip6t_get_ctl+0xabd/0x1230 net/ipv6/netfilter/ip6_tables.c:1677
nf_getsockopt+0x26e/0x290 net/netfilter/nf_sockopt.c:116
ipv6_getsockopt+0x1fd/0x2b0 net/ipv6/ipv6_sockglue.c:1464
do_sock_getsockopt+0x51d/0x7e0 net/socket.c:2487
__sys_getsockopt net/socket.c:2518 [inline]
__do_sys_getsockopt net/socket.c:2525 [inline]
__se_sys_getsockopt net/socket.c:2522 [inline]
__x64_sys_getsockopt+0x1a4/0x240 net/socket.c:2522
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
stack backtrace:
CPU: 0 UID: 0 PID: 5739 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
<IRQ>
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
print_irq_inversion_bug+0x1d2/0x1e0 kernel/locking/lockdep.c:4125
mark_lock_irq+0x3d2/0x420 kernel/locking/lockdep.c:-1
mark_lock+0x115/0x190 kernel/locking/lockdep.c:4753
mark_usage kernel/locking/lockdep.c:-1 [inline]
__lock_acquire+0x689/0x2cf0 kernel/locking/lockdep.c:5191
lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
__raw_write_lock include/linux/rwlock_api_smp.h:229 [inline]
_raw_write_lock+0x2e/0x40 kernel/locking/spinlock.c:304
addrconf_rs_timer+0xc8/0x6d0 net/ipv6/addrconf.c:4033
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x22a/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1061
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
RIP: 0010:zone_watermark_fast+0xf7/0x230 mm/page_alloc.c:3687
Code: 00 00 fc ff df 80 3c 08 00 74 08 48 89 ef e8 d0 01 0e 00 48 8b 45 00 31 c9 48 85 c0 48 0f 4f c8 49 01 cd 4c 39 eb 4c 0f 4c eb <49> 8d 46 38 48 63 2c 24 83 fd 05 0f 83 08 01 00 00 49 89 df 4d 29
RSP: 0018:ffffc900045cf018 EFLAGS: 00000202
RAX: 0000000000000000 RBX: 0000000000001a43 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff88815fffc810
RBP: ffff88815fffc810 R08: ffff88815fffc817 R09: 1ffff1102bfff902
R10: dffffc0000000000 R11: ffffed102bfff903 R12: 0000000000000000
R13: 0000000000000000 R14: ffff88815fffc100 R15: 0000000000000901
get_page_from_freelist+0x537/0x2610 mm/page_alloc.c:3885
__alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5221
__alloc_pages_noprof+0x10/0x100 mm/page_alloc.c:5255
alloc_pages_bulk_noprof+0x5ff/0x7c0 mm/page_alloc.c:5175
alloc_pages_bulk_mempolicy_noprof+0x34e/0x1680 mm/mempolicy.c:2798
vm_area_alloc_pages mm/vmalloc.c:3700 [inline]
__vmalloc_area_node mm/vmalloc.c:3878 [inline]
__vmalloc_node_range_noprof+0xad1/0x1750 mm/vmalloc.c:4064
__vmalloc_node_noprof mm/vmalloc.c:4124 [inline]
vzalloc_noprof+0xb2/0xe0 mm/vmalloc.c:4202
alloc_counters+0x64/0x5d0 net/ipv4/netfilter/ip_tables.c:799
copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:837 [inline]
get_entries net/ipv6/netfilter/ip6_tables.c:1039 [inline]
do_ip6t_get_ctl+0xabd/0x1230 net/ipv6/netfilter/ip6_tables.c:1677
nf_getsockopt+0x26e/0x290 net/netfilter/nf_sockopt.c:116
ipv6_getsockopt+0x1fd/0x2b0 net/ipv6/ipv6_sockglue.c:1464
do_sock_getsockopt+0x51d/0x7e0 net/socket.c:2487
__sys_getsockopt net/socket.c:2518 [inline]
__do_sys_getsockopt net/socket.c:2525 [inline]
__se_sys_getsockopt net/socket.c:2522 [inline]
__x64_sys_getsockopt+0x1a4/0x240 net/socket.c:2522
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x15f/0x560 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fb03e19e62a
Code: 48 83 ec 10 89 d2 48 63 ff 45 31 c9 6a 2a 45 31 c0 31 c9 e8 d8 99 fb ff 48 83 c4 18 c3 0f 1f 00 49 89 ca b8 37 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 06 c3 0f 1f 44 00 00 48 c7 c2 e8 ff ff ff f7
RSP: 002b:00007ffc25639248 EFLAGS: 00000212 ORIG_RAX: 0000000000000037
RAX: ffffffffffffffda RBX: 00007ffc256392d0 RCX: 00007fb03e19e62a
RDX: 0000000000000041 RSI: 0000000000000029 RDI: 0000000000000003
RBP: 0000000000000003 R08: 00007ffc2563926c R09: ffffffffff000000
R10: 00007ffc256392d0 R11: 0000000000000212 R12: 00007fb03e3ea240
R13: 00007ffc2563926c R14: 0000000000000000 R15: 00007fb03e3eafc0
</TASK>
----------------
Code disassembly (best guess), 4 bytes skipped:
0: df 80 3c 08 00 74 filds 0x7400083c(%rax)
6: 08 48 89 or %cl,-0x77(%rax)
9: ef out %eax,(%dx)
a: e8 d0 01 0e 00 call 0xe01df
f: 48 8b 45 00 mov 0x0(%rbp),%rax
13: 31 c9 xor %ecx,%ecx
15: 48 85 c0 test %rax,%rax
18: 48 0f 4f c8 cmovg %rax,%rcx
1c: 49 01 cd add %rcx,%r13
1f: 4c 39 eb cmp %r13,%rbx
22: 4c 0f 4c eb cmovl %rbx,%r13
* 26: 49 8d 46 38 lea 0x38(%r14),%rax <-- trapping instruction
2a: 48 63 2c 24 movslq (%rsp),%rbp
2e: 83 fd 05 cmp $0x5,%ebp
31: 0f 83 08 01 00 00 jae 0x13f
37: 49 89 df mov %rbx,%r15
3a: 4d rex.WRB
3b: 29 .byte 0x29
***
If these findings have caused you to resend the series or submit a
separate fix, please add the following tag to your commit message:
Tested-by: syzbot@syzkaller.appspotmail.com
---
This report is generated by a bot. It may contain errors.
syzbot ci engineers can be reached at syzkaller@googlegroups.com.
To test a patch for this bug, please reply with `#syz test`
(should be on a separate line).
The patch should be attached to the email.
Note: arguments like custom git repos and branches are not supported.
prev parent reply other threads:[~2026-05-29 8:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-29 3:20 [PATCH net] ipv6: anycast: insert aca into global hash under idev->lock Jiayuan Chen
2026-05-29 3:41 ` Kuniyuki Iwashima
2026-05-29 5:02 ` Jiayuan Chen
2026-05-29 5:10 ` Kuniyuki Iwashima
2026-05-29 5:12 ` Jiayuan Chen
2026-05-29 8:31 ` syzbot ci [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6a194ef7.ba3b1513.1890b4.0000.GAE@google.com \
--to=syzbot+cieee6b6974f07e792@syzkaller.appspotmail.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=jiayuan.chen@linux.dev \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=syzbot@lists.linux.dev \
--cc=syzkaller-bugs@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox