syzbot has found a reproducer for the following issue on:
HEAD commit: 325285d9fc86 Linux 6.1.139
git tree: linux-6.1.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=15bad1f4580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=3254a6fa7465fc6c
userspace arch: arm64
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=1059b2d4580000
C reproducer:
https://syzkaller.appspot.com/x/repro.c?x=113fff68580000
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/9a08990888bb/disk-325285d9.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/53f0b4d064d5/vmlinux-325285d9.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/37e51bf8213e/Image-325285d9.gz.xz
netlink: 8 bytes leftover after parsing attributes in process `syz-executor306'.
------------[ cut here ]------------
WARNING: CPU: 1 PID: 4297 at kernel/softirq.c:383 __local_bh_enable_ip+0x25c/0x380 kernel/softirq.c:383
Modules linked in:
CPU: 1 PID: 4297 Comm: syz-executor306 Not tainted 6.1.139-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
pstate: 204000c5 (nzCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __local_bh_enable_ip+0x25c/0x380 kernel/softirq.c:383
lr : __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
lr : _raw_spin_unlock_bh+0x48/0x58 kernel/locking/spinlock.c:210
sp : ffff8000205f67f0
x29: ffff8000205f6800 x28: 1fffe00019e994b8 x27: 1fffe00019e994d9
x26: dfff800000000000 x25: 1fffe00018d90a69 x24: 0000000000000000
x23: dfff800000000000 x22: 1fffe00018d90a69 x21: ffff80000fde6b60
x20: 0000000000000201 x19: ffff0000c6c85348 x18: 0000000000000000
x17: ffff8000181a0000 x16: ffff8000082e7c58 x15: ffff800017c80fc0
x14: ffff0000c6c85dd8 x13: ffff0000c6c85e50 x12: 0000000000000001
x11: 1fffe00019e994b9 x10: 0000000000000000 x9 : 0000000000000000
x8 : 0000000100000203 x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff8000182e1888 x4 : 0000000000000008 x3 : ffff8000082e7d6c
x2 : 0000000000000001 x1 : 0000000000000201 x0 : ffff80000fde6b60
Call trace:
__local_bh_enable_ip+0x25c/0x380 kernel/softirq.c:383
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
_raw_spin_unlock_bh+0x48/0x58 kernel/locking/spinlock.c:210
spin_unlock_bh include/linux/spinlock.h:396 [inline]
ptr_ring_produce_bh include/linux/ptr_ring.h:164 [inline]
page_pool_recycle_in_ring net/core/page_pool.c:545 [inline]
page_pool_put_defragged_page+0x4d0/0xae8 net/core/page_pool.c:632
page_pool_put_page include/net/page_pool.h:326 [inline]
page_pool_put_full_page include/net/page_pool.h:334 [inline]
__xdp_return+0x3ac/0x524 net/core/xdp.c:384
xdp_return_frame+0x90/0x264 net/core/xdp.c:419
tun_ptr_free drivers/net/tun.c:617 [inline]
__ptr_ring_swap_queue include/linux/ptr_ring.h:570 [inline]
ptr_ring_resize_multiple include/linux/ptr_ring.h:641 [inline]
tun_queue_resize drivers/net/tun.c:3666 [inline]
tun_device_event+0x8e4/0xe80 drivers/net/tun.c:3686
notifier_call_chain kernel/notifier.c:87 [inline]
raw_notifier_call_chain+0xd4/0x164 kernel/notifier.c:455
call_netdevice_notifiers_info net/core/dev.c:2001 [inline]
call_netdevice_notifiers_extack net/core/dev.c:2039 [inline]
call_netdevice_notifiers net/core/dev.c:2053 [inline]
dev_change_tx_queue_len+0x170/0x2c8 net/core/dev.c:8811
do_setlink+0xcd4/0x32c4 net/core/rtnetlink.c:2856
rtnl_setlink+0x2c0/0x398 net/core/rtnetlink.c:3124
rtnetlink_rcv_msg+0x734/0xce4 net/core/rtnetlink.c:6153
netlink_rcv_skb+0x208/0x3c4 net/netlink/af_netlink.c:2493
rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:6171
netlink_unicast_kernel net/netlink/af_netlink.c:1311 [inline]
netlink_unicast+0x600/0x818 net/netlink/af_netlink.c:1337
netlink_sendmsg+0x6e8/0x9b0 net/netlink/af_netlink.c:1859
sock_sendmsg_nosec net/socket.c:718 [inline]
__sock_sendmsg net/socket.c:730 [inline]
____sys_sendmsg+0x5b8/0x918 net/socket.c:2519
___sys_sendmsg net/socket.c:2573 [inline]
__sys_sendmsg+0x25c/0x320 net/socket.c:2602
__do_sys_sendmsg net/socket.c:2611 [inline]
__se_sys_sendmsg net/socket.c:2609 [inline]
__arm64_sys_sendmsg+0x80/0x94 net/socket.c:2609
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x138 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
irq event stamp: 2149
hardirqs last enabled at (2147): [<ffff8000119ff69c>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
hardirqs last enabled at (2147): [<ffff8000119ff69c>] _raw_spin_unlock_irqrestore+0x48/0xac kernel/locking/spinlock.c:194
hardirqs last disabled at (2148): [<ffff8000119ff4b8>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline]
hardirqs last disabled at (2148): [<ffff8000119ff4b8>] _raw_spin_lock_irqsave+0xa4/0xb4 kernel/locking/spinlock.c:162
softirqs last enabled at (2098): [<ffff800010744b2c>] inet6_fill_ifla6_attrs+0xc70/0x1b6c net/ipv6/addrconf.c:5776
softirqs last disabled at (2149): [<ffff80000fde69e0>] spin_lock_bh include/linux/spinlock.h:356 [inline]
softirqs last disabled at (2149): [<ffff80000fde69e0>] ptr_ring_produce_bh include/linux/ptr_ring.h:162 [inline]
softirqs last disabled at (2149): [<ffff80000fde69e0>] page_pool_recycle_in_ring net/core/page_pool.c:545 [inline]
softirqs last disabled at (2149): [<ffff80000fde69e0>] page_pool_put_defragged_page+0x350/0xae8 net/core/page_pool.c:632
---[ end trace 0000000000000000 ]---
------------[ cut here ]------------
raw_local_irq_restore() called with IRQs enabled
WARNING: CPU: 1 PID: 4297 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x34/0x44 kernel/locking/irqflag-debug.c:10
Modules linked in:
CPU: 1 PID: 4297 Comm: syz-executor306 Tainted: G W 6.1.139-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : warn_bogus_irq_restore+0x34/0x44 kernel/locking/irqflag-debug.c:10
lr : warn_bogus_irq_restore+0x34/0x44 kernel/locking/irqflag-debug.c:10
sp : ffff8000205f6940
x29: ffff8000205f6940 x28: 0000000000000000 x27: 1fffe0001bd64d30
x26: 0000000000000002 x25: dfff800000000000 x24: 1fffe0001bd64d31
x23: 0000000000000000 x22: ffff0000d3a40300 x21: ffff0000deb26988
x20: ffff0000deb26908 x19: 0000000000000000 x18: 0000000000000000
x17: 0000000000000000 x16: ffff8000082d241c x15: 0000000000000000
x14: 00000000ffffffff x13: 0000000000000001 x12: 0000000000ff0100
x11: ff00800008191bec x10: 0000000000000000 x9 : ccdd3372d2e95100
x8 : ccdd3372d2e95100 x7 : 0000000000000001 x6 : 0000000000000001
x5 : ffff8000205f63d8 x4 : ffff800015154740 x3 : ffff800008311e10
x2 : 0000000000000001 x1 : 0000000000000001 x0 : 0000000000000000
Call trace:
warn_bogus_irq_restore+0x34/0x44 kernel/locking/irqflag-debug.c:10
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
_raw_spin_unlock_irqrestore+0xa0/0xac kernel/locking/spinlock.c:194
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
ptr_ring_resize_multiple include/linux/ptr_ring.h:644 [inline]
tun_queue_resize drivers/net/tun.c:3666 [inline]
tun_device_event+0xbf8/0xe80 drivers/net/tun.c:3686
notifier_call_chain kernel/notifier.c:87 [inline]
raw_notifier_call_chain+0xd4/0x164 kernel/notifier.c:455
call_netdevice_notifiers_info net/core/dev.c:2001 [inline]
call_netdevice_notifiers_extack net/core/dev.c:2039 [inline]
call_netdevice_notifiers net/core/dev.c:2053 [inline]
dev_change_tx_queue_len+0x170/0x2c8 net/core/dev.c:8811
do_setlink+0xcd4/0x32c4 net/core/rtnetlink.c:2856
rtnl_setlink+0x2c0/0x398 net/core/rtnetlink.c:3124
rtnetlink_rcv_msg+0x734/0xce4 net/core/rtnetlink.c:6153
netlink_rcv_skb+0x208/0x3c4 net/netlink/af_netlink.c:2493
rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:6171
netlink_unicast_kernel net/netlink/af_netlink.c:1311 [inline]
netlink_unicast+0x600/0x818 net/netlink/af_netlink.c:1337
netlink_sendmsg+0x6e8/0x9b0 net/netlink/af_netlink.c:1859
sock_sendmsg_nosec net/socket.c:718 [inline]
__sock_sendmsg net/socket.c:730 [inline]
____sys_sendmsg+0x5b8/0x918 net/socket.c:2519
___sys_sendmsg net/socket.c:2573 [inline]
__sys_sendmsg+0x25c/0x320 net/socket.c:2602
__do_sys_sendmsg net/socket.c:2611 [inline]
__se_sys_sendmsg net/socket.c:2609 [inline]
__arm64_sys_sendmsg+0x80/0x94 net/socket.c:2609
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x138 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
irq event stamp: 2196
hardirqs last enabled at (2195): [<ffff800008308534>] __up_console_sem+0xb4/0x100 kernel/printk/printk.c:261
hardirqs last disabled at (2196): [<ffff8000119143a8>] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:405
softirqs last enabled at (2172): [<ffff8000081a95c0>] softirq_handle_end kernel/softirq.c:421 [inline]
softirqs last enabled at (2172): [<ffff8000081a95c0>] handle_softirqs+0xaf8/0xc6c kernel/softirq.c:606
softirqs last disabled at (2153): [<ffff800008020164>] __do_softirq+0x14/0x20 kernel/softirq.c:612
---[ end trace 0000000000000000 ]---
---
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.