[v5.15] possible deadlock in lock_timer_base

3 views
Skip to first unread message

syzbot

unread,
May 25, 2023, 5:57:53 PM5/25/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 1fe619a7d252 Linux 5.15.113
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=13126e4d280000
kernel config: https://syzkaller.appspot.com/x/.config?x=8f10ee30ae29b021
dashboard link: https://syzkaller.appspot.com/bug?extid=557afc3253b6c451257a
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/1b707a1e1816/disk-1fe619a7.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/19cc598a8bbe/vmlinux-1fe619a7.xz
kernel image: https://storage.googleapis.com/syzbot-assets/a6cf7269bae5/Image-1fe619a7.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+557afc...@syzkaller.appspotmail.com

FAULT_INJECTION: forcing a failure.
name failslab, interval 1, probability 0, space 0, times 0
======================================================
WARNING: possible circular locking dependency detected
5.15.113-syzkaller #0 Not tainted
------------------------------------------------------
syz-executor.5/29570 is trying to acquire lock:
ffff80001498f7f8 ((console_sem).lock){-.-.}-{2:2}, at: down_trylock+0x28/0xd8 kernel/locking/semaphore.c:138

but task is already holding lock:
ffff0001b47fc498 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x108/0x214 kernel/time/timer.c:946

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #3 (&base->lock){-.-.}-{2:2}:
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xc4/0x14c kernel/locking/spinlock.c:162
lock_timer_base+0x108/0x214 kernel/time/timer.c:946
__mod_timer+0x1b4/0xd30 kernel/time/timer.c:1019
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
schedule_delayed_work include/linux/workqueue.h:621 [inline]
psi_group_change+0xd50/0x12a0 kernel/sched/psi.c:758
psi_task_change+0x1dc/0x2e8 kernel/sched/psi.c:826
psi_enqueue kernel/sched/stats.h:104 [inline]
enqueue_task kernel/sched/core.c:1973 [inline]
activate_task+0x268/0x2d0 kernel/sched/core.c:2005
wake_up_new_task+0x314/0x964 kernel/sched/core.c:4518
kernel_clone+0x47c/0xa58 kernel/fork.c:2625
kernel_thread+0x148/0x1bc kernel/fork.c:2653
rest_init+0x2c/0x38c init/main.c:701
arch_call_rest_init+0x14/0x20 init/main.c:889
start_kernel+0x444/0x604 init/main.c:1144
__primary_switched+0xa8/0xb0 arch/arm64/kernel/head.S:468

-> #2 (&rq->__lock){-.-.}-{2:2}:
_raw_spin_lock_nested+0xb4/0x110 kernel/locking/spinlock.c:368
raw_spin_rq_lock_nested+0x2c/0x44 kernel/sched/core.c:475
raw_spin_rq_lock kernel/sched/sched.h:1326 [inline]
rq_lock kernel/sched/sched.h:1621 [inline]
task_fork_fair+0x7c/0x23c kernel/sched/fair.c:11494
sched_cgroup_fork+0x334/0x3d8 kernel/sched/core.c:4462
copy_process+0x24d4/0x3750 kernel/fork.c:2312
kernel_clone+0x1d8/0xa58 kernel/fork.c:2601
kernel_thread+0x148/0x1bc kernel/fork.c:2653
rest_init+0x2c/0x38c init/main.c:701
arch_call_rest_init+0x14/0x20 init/main.c:889
start_kernel+0x444/0x604 init/main.c:1144
__primary_switched+0xa8/0xb0 arch/arm64/kernel/head.S:468

-> #1 (&p->pi_lock){-.-.}-{2:2}:
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xc4/0x14c kernel/locking/spinlock.c:162
try_to_wake_up+0xb0/0xc2c kernel/sched/core.c:4026
wake_up_process+0x18/0x24 kernel/sched/core.c:4211
__up+0x11c/0x148 kernel/locking/semaphore.c:265
up+0x90/0xb0 kernel/locking/semaphore.c:190
__up_console_sem+0x8c/0x100 kernel/printk/printk.c:256
console_unlock+0x1160/0x1394 kernel/printk/printk.c:2750
vprintk_emit+0x13c/0x218 kernel/printk/printk.c:2268
vprintk_default+0xa0/0xe4 kernel/printk/printk.c:2279
vprintk+0x218/0x2f0 kernel/printk/printk_safe.c:50
_printk+0xdc/0x128 kernel/printk/printk.c:2289
tcp_syn_flood_action+0x1f4/0x23c net/ipv4/tcp_input.c:6775
tcp_conn_request+0x264/0x2500 net/ipv4/tcp_input.c:6865
tcp_v6_conn_request+0x264/0x388 net/ipv6/tcp_ipv6.c:1219
tcp_rcv_state_process+0x1174/0x3dd8 net/ipv4/tcp_input.c:6425
tcp_v6_do_rcv+0x704/0x135c net/ipv6/tcp_ipv6.c:1551
tcp_v6_rcv+0x1ba4/0x2360 net/ipv6/tcp_ipv6.c:1755
ip6_protocol_deliver_rcu+0x8f0/0x1134 net/ipv6/ip6_input.c:425
ip6_input_finish+0xc8/0x174 net/ipv6/ip6_input.c:466
NF_HOOK+0x324/0x3d0 include/linux/netfilter.h:307
ip6_input+0x70/0x84 net/ipv6/ip6_input.c:475
dst_input include/net/dst.h:459 [inline]
ip6_rcv_finish+0x1fc/0x234 net/ipv6/ip6_input.c:79
NF_HOOK+0x324/0x3d0 include/linux/netfilter.h:307
ipv6_rcv+0x98/0xb8 net/ipv6/ip6_input.c:300
__netif_receive_skb_one_core net/core/dev.c:5460 [inline]
__netif_receive_skb+0x18c/0x400 net/core/dev.c:5574
process_backlog+0x3ec/0x7e0 net/core/dev.c:6451
__napi_poll+0xb4/0x624 net/core/dev.c:7010
napi_poll net/core/dev.c:7077 [inline]
net_rx_action+0x500/0xc10 net/core/dev.c:7164
__do_softirq+0x344/0xe20 kernel/softirq.c:558
do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline]
do_softirq+0x120/0x20c kernel/softirq.c:459
__local_bh_enable_ip+0x2c0/0x4d0 kernel/softirq.c:383
local_bh_enable+0x28/0x34 include/linux/bottom_half.h:32
rcu_read_unlock_bh include/linux/rcupdate.h:766 [inline]
ip6_finish_output2+0x13e4/0x1c48 net/ipv6/ip6_output.c:127
__ip6_finish_output+0x518/0x67c net/ipv6/ip6_output.c:191
ip6_finish_output+0x40/0x218 net/ipv6/ip6_output.c:201
NF_HOOK_COND include/linux/netfilter.h:296 [inline]
ip6_output+0x270/0x594 net/ipv6/ip6_output.c:224
dst_output include/net/dst.h:449 [inline]
NF_HOOK include/linux/netfilter.h:307 [inline]
ip6_xmit+0x1070/0x1a60 net/ipv6/ip6_output.c:324
inet6_csk_xmit+0x3b8/0x61c net/ipv6/inet6_connection_sock.c:135
__tcp_transmit_skb+0x1954/0x3218 net/ipv4/tcp_output.c:1403
tcp_transmit_skb net/ipv4/tcp_output.c:1421 [inline]
tcp_send_syn_data net/ipv4/tcp_output.c:3831 [inline]
tcp_connect+0x23c4/0x3e34 net/ipv4/tcp_output.c:3870
tcp_v6_connect+0x1010/0x1878 net/ipv6/tcp_ipv6.c:335
__inet_stream_connect+0x200/0xb78 net/ipv4/af_inet.c:664
tcp_sendmsg_fastopen+0x330/0x560 net/ipv4/tcp.c:1191
tcp_sendmsg_locked+0x2b6c/0x313c net/ipv4/tcp.c:1233
tcp_sendmsg+0x40/0x64 net/ipv4/tcp.c:1462
inet6_sendmsg+0xb4/0xd8 net/ipv6/af_inet6.c:657
sock_sendmsg_nosec net/socket.c:704 [inline]
sock_sendmsg net/socket.c:724 [inline]
__sys_sendto+0x388/0x4d0 net/socket.c:2039
__do_sys_sendto net/socket.c:2051 [inline]
__se_sys_sendto net/socket.c:2047 [inline]
__arm64_sys_sendto+0xd8/0xf8 net/socket.c:2047
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584

-> #0 ((console_sem).lock){-.-.}-{2:2}:
check_prev_add kernel/locking/lockdep.c:3053 [inline]
check_prevs_add kernel/locking/lockdep.c:3172 [inline]
validate_chain kernel/locking/lockdep.c:3787 [inline]
__lock_acquire+0x32cc/0x7620 kernel/locking/lockdep.c:5011
lock_acquire+0x240/0x77c kernel/locking/lockdep.c:5622
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xc4/0x14c kernel/locking/spinlock.c:162
down_trylock+0x28/0xd8 kernel/locking/semaphore.c:138
__down_trylock_console_sem+0x80/0x144 kernel/printk/printk.c:239
console_trylock+0xb8/0x1f8 kernel/printk/printk.c:2565
console_trylock_spinning+0x1c/0x280 kernel/printk/printk.c:1867
vprintk_emit+0x120/0x218 kernel/printk/printk.c:2267
vprintk_default+0xa0/0xe4 kernel/printk/printk.c:2279
vprintk+0x218/0x2f0 kernel/printk/printk_safe.c:50
_printk+0xdc/0x128 kernel/printk/printk.c:2289
fail_dump lib/fault-inject.c:45 [inline]
should_fail+0x3e0/0x5cc lib/fault-inject.c:146
__should_failslab+0xbc/0x110 mm/failslab.c:33
should_failslab+0x10/0x28 mm/slab_common.c:1337
slab_pre_alloc_hook+0x64/0xe8 mm/slab.h:494
slab_alloc_node mm/slub.c:3134 [inline]
slab_alloc mm/slub.c:3228 [inline]
kmem_cache_alloc+0x98/0x45c mm/slub.c:3233
kmem_cache_zalloc include/linux/slab.h:711 [inline]
fill_pool lib/debugobjects.c:171 [inline]
debug_objects_fill_pool+0x3d0/0x814 lib/debugobjects.c:600
debug_object_activate+0x114/0x790 lib/debugobjects.c:696
debug_timer_activate kernel/time/timer.c:729 [inline]
__mod_timer+0x830/0xd30 kernel/time/timer.c:1050
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
batadv_dat_start_timer net/batman-adv/distributed-arp-table.c:105 [inline]
batadv_dat_init+0x190/0x258 net/batman-adv/distributed-arp-table.c:822
batadv_mesh_init+0x3cc/0x67c net/batman-adv/main.c:217
batadv_softif_init_late+0x734/0xb94 net/batman-adv/soft-interface.c:807
register_netdevice+0x440/0x1224 net/core/dev.c:10259
batadv_softif_newlink+0x90/0xa0 net/batman-adv/soft-interface.c:1071
__rtnl_newlink net/core/rtnetlink.c:3462 [inline]
rtnl_newlink+0x1048/0x1ab8 net/core/rtnetlink.c:3510
rtnetlink_rcv_msg+0xa74/0xdac net/core/rtnetlink.c:5587
netlink_rcv_skb+0x20c/0x3b8 net/netlink/af_netlink.c:2504
rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:5605
netlink_unicast_kernel net/netlink/af_netlink.c:1330 [inline]
netlink_unicast+0x664/0x938 net/netlink/af_netlink.c:1356
netlink_sendmsg+0x844/0xb38 net/netlink/af_netlink.c:1923
sock_sendmsg_nosec net/socket.c:704 [inline]
sock_sendmsg net/socket.c:724 [inline]
____sys_sendmsg+0x584/0x870 net/socket.c:2412
___sys_sendmsg+0x214/0x294 net/socket.c:2466
__sys_sendmsg net/socket.c:2495 [inline]
__do_sys_sendmsg net/socket.c:2504 [inline]
__se_sys_sendmsg net/socket.c:2502 [inline]
__arm64_sys_sendmsg+0x1ac/0x25c net/socket.c:2502
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584

other info that might help us debug this:

Chain exists of:
(console_sem).lock --> &rq->__lock --> &base->lock

Possible unsafe locking scenario:

CPU0 CPU1
---- ----
lock(&base->lock);
lock(&rq->__lock);
lock(&base->lock);
lock((console_sem).lock);

*** DEADLOCK ***

2 locks held by syz-executor.5/29570:
#0: ffff8000169c5988 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:72 [inline]
#0: ffff8000169c5988 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0xa2c/0xdac net/core/rtnetlink.c:5584
#1: ffff0001b47fc498 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x108/0x214 kernel/time/timer.c:946

stack backtrace:
CPU: 0 PID: 29570 Comm: syz-executor.5 Not tainted 5.15.113-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023
Call trace:
dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
print_circular_bug+0x150/0x1b8 kernel/locking/lockdep.c:2011
check_noncircular+0x2cc/0x378 kernel/locking/lockdep.c:2133
check_prev_add kernel/locking/lockdep.c:3053 [inline]
check_prevs_add kernel/locking/lockdep.c:3172 [inline]
validate_chain kernel/locking/lockdep.c:3787 [inline]
__lock_acquire+0x32cc/0x7620 kernel/locking/lockdep.c:5011
lock_acquire+0x240/0x77c kernel/locking/lockdep.c:5622
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xc4/0x14c kernel/locking/spinlock.c:162
down_trylock+0x28/0xd8 kernel/locking/semaphore.c:138
__down_trylock_console_sem+0x80/0x144 kernel/printk/printk.c:239
console_trylock+0xb8/0x1f8 kernel/printk/printk.c:2565
console_trylock_spinning+0x1c/0x280 kernel/printk/printk.c:1867
vprintk_emit+0x120/0x218 kernel/printk/printk.c:2267
vprintk_default+0xa0/0xe4 kernel/printk/printk.c:2279
vprintk+0x218/0x2f0 kernel/printk/printk_safe.c:50
_printk+0xdc/0x128 kernel/printk/printk.c:2289
fail_dump lib/fault-inject.c:45 [inline]
should_fail+0x3e0/0x5cc lib/fault-inject.c:146
__should_failslab+0xbc/0x110 mm/failslab.c:33
should_failslab+0x10/0x28 mm/slab_common.c:1337
slab_pre_alloc_hook+0x64/0xe8 mm/slab.h:494
slab_alloc_node mm/slub.c:3134 [inline]
slab_alloc mm/slub.c:3228 [inline]
kmem_cache_alloc+0x98/0x45c mm/slub.c:3233
kmem_cache_zalloc include/linux/slab.h:711 [inline]
fill_pool lib/debugobjects.c:171 [inline]
debug_objects_fill_pool+0x3d0/0x814 lib/debugobjects.c:600
debug_object_activate+0x114/0x790 lib/debugobjects.c:696
debug_timer_activate kernel/time/timer.c:729 [inline]
__mod_timer+0x830/0xd30 kernel/time/timer.c:1050
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
batadv_dat_start_timer net/batman-adv/distributed-arp-table.c:105 [inline]
batadv_dat_init+0x190/0x258 net/batman-adv/distributed-arp-table.c:822
batadv_mesh_init+0x3cc/0x67c net/batman-adv/main.c:217
batadv_softif_init_late+0x734/0xb94 net/batman-adv/soft-interface.c:807
register_netdevice+0x440/0x1224 net/core/dev.c:10259
batadv_softif_newlink+0x90/0xa0 net/batman-adv/soft-interface.c:1071
__rtnl_newlink net/core/rtnetlink.c:3462 [inline]
rtnl_newlink+0x1048/0x1ab8 net/core/rtnetlink.c:3510
rtnetlink_rcv_msg+0xa74/0xdac net/core/rtnetlink.c:5587
netlink_rcv_skb+0x20c/0x3b8 net/netlink/af_netlink.c:2504
rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:5605
netlink_unicast_kernel net/netlink/af_netlink.c:1330 [inline]
netlink_unicast+0x664/0x938 net/netlink/af_netlink.c:1356
netlink_sendmsg+0x844/0xb38 net/netlink/af_netlink.c:1923
sock_sendmsg_nosec net/socket.c:704 [inline]
sock_sendmsg net/socket.c:724 [inline]
____sys_sendmsg+0x584/0x870 net/socket.c:2412
___sys_sendmsg+0x214/0x294 net/socket.c:2466
__sys_sendmsg net/socket.c:2495 [inline]
__do_sys_sendmsg net/socket.c:2504 [inline]
__se_sys_sendmsg net/socket.c:2502 [inline]
__arm64_sys_sendmsg+0x1ac/0x25c net/socket.c:2502
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
CPU: 0 PID: 29570 Comm: syz-executor.5 Not tainted 5.15.113-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023
Call trace:
dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
fail_dump lib/fault-inject.c:52 [inline]
should_fail+0x400/0x5cc lib/fault-inject.c:146
__should_failslab+0xbc/0x110 mm/failslab.c:33
should_failslab+0x10/0x28 mm/slab_common.c:1337
slab_pre_alloc_hook+0x64/0xe8 mm/slab.h:494
slab_alloc_node mm/slub.c:3134 [inline]
slab_alloc mm/slub.c:3228 [inline]
kmem_cache_alloc+0x98/0x45c mm/slub.c:3233
kmem_cache_zalloc include/linux/slab.h:711 [inline]
fill_pool lib/debugobjects.c:171 [inline]
debug_objects_fill_pool+0x3d0/0x814 lib/debugobjects.c:600
debug_object_activate+0x114/0x790 lib/debugobjects.c:696
debug_timer_activate kernel/time/timer.c:729 [inline]
__mod_timer+0x830/0xd30 kernel/time/timer.c:1050
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
batadv_dat_start_timer net/batman-adv/distributed-arp-table.c:105 [inline]
batadv_dat_init+0x190/0x258 net/batman-adv/distributed-arp-table.c:822
batadv_mesh_init+0x3cc/0x67c net/batman-adv/main.c:217
batadv_softif_init_late+0x734/0xb94 net/batman-adv/soft-interface.c:807
register_netdevice+0x440/0x1224 net/core/dev.c:10259
batadv_softif_newlink+0x90/0xa0 net/batman-adv/soft-interface.c:1071
__rtnl_newlink net/core/rtnetlink.c:3462 [inline]
rtnl_newlink+0x1048/0x1ab8 net/core/rtnetlink.c:3510
rtnetlink_rcv_msg+0xa74/0xdac net/core/rtnetlink.c:5587
netlink_rcv_skb+0x20c/0x3b8 net/netlink/af_netlink.c:2504
rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:5605
netlink_unicast_kernel net/netlink/af_netlink.c:1330 [inline]
netlink_unicast+0x664/0x938 net/netlink/af_netlink.c:1356
netlink_sendmsg+0x844/0xb38 net/netlink/af_netlink.c:1923
sock_sendmsg_nosec net/socket.c:704 [inline]
sock_sendmsg net/socket.c:724 [inline]
____sys_sendmsg+0x584/0x870 net/socket.c:2412
___sys_sendmsg+0x214/0x294 net/socket.c:2466
__sys_sendmsg net/socket.c:2495 [inline]
__do_sys_sendmsg net/socket.c:2504 [inline]
__se_sys_sendmsg net/socket.c:2502 [inline]
__arm64_sys_sendmsg+0x1ac/0x25c net/socket.c:2502
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584


---
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 syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to change bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
May 25, 2023, 7:12:59 PM5/25/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 1fe619a7d252 Linux 5.15.113
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=10b82a4d280000
kernel config: https://syzkaller.appspot.com/x/.config?x=8f10ee30ae29b021
dashboard link: https://syzkaller.appspot.com/bug?extid=557afc3253b6c451257a
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=164b4636280000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/1b707a1e1816/disk-1fe619a7.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/19cc598a8bbe/vmlinux-1fe619a7.xz
kernel image: https://storage.googleapis.com/syzbot-assets/a6cf7269bae5/Image-1fe619a7.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+557afc...@syzkaller.appspotmail.com

FAULT_INJECTION: forcing a failure.
name failslab, interval 1, probability 0, space 0, times 0
======================================================
WARNING: possible circular locking dependency detected
5.15.113-syzkaller #0 Not tainted
------------------------------------------------------
syz-executor.0/4086 is trying to acquire lock:
ffff80001498f7f8 ((console_sem).lock){....}-{2:2}, at: down_trylock+0x28/0xd8 kernel/locking/semaphore.c:138
addrconf_notify+0x9e8/0xc58 net/ipv6/addrconf.c:3632
notifier_call_chain kernel/notifier.c:83 [inline]
raw_notifier_call_chain+0xd4/0x164 kernel/notifier.c:391
call_netdevice_notifiers_info net/core/dev.c:1998 [inline]
netdev_state_change+0x180/0x22c net/core/dev.c:1389
linkwatch_do_dev+0x2b0/0x3c8 net/core/link_watch.c:167
__linkwatch_run_queue+0x424/0x730 net/core/link_watch.c:213
linkwatch_event+0x58/0x68 net/core/link_watch.c:252
process_one_work+0x790/0x11b8 kernel/workqueue.c:2307
worker_thread+0x910/0x1034 kernel/workqueue.c:2454
kthread+0x37c/0x45c kernel/kthread.c:319
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870

-> #0 ((console_sem).lock){....}-{2:2}:
debug_objects_fill_pool+0x434/0x814 lib/debugobjects.c:600
debug_object_activate+0x114/0x790 lib/debugobjects.c:696
debug_timer_activate kernel/time/timer.c:729 [inline]
__mod_timer+0x830/0xd30 kernel/time/timer.c:1050
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
batadv_tt_init+0x234/0x26c net/batman-adv/translation-table.c:4179
batadv_mesh_init+0x378/0x67c net/batman-adv/main.c:199
2 locks held by syz-executor.0/4086:
#0: ffff8000169c5988 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:72 [inline]
#0: ffff8000169c5988 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0xa2c/0xdac net/core/rtnetlink.c:5584
#1: ffff0001b47fc498 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x108/0x214 kernel/time/timer.c:946

stack backtrace:
CPU: 0 PID: 4086 Comm: syz-executor.0 Not tainted 5.15.113-syzkaller #0
debug_objects_fill_pool+0x434/0x814 lib/debugobjects.c:600
debug_object_activate+0x114/0x790 lib/debugobjects.c:696
debug_timer_activate kernel/time/timer.c:729 [inline]
__mod_timer+0x830/0xd30 kernel/time/timer.c:1050
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
batadv_tt_init+0x234/0x26c net/batman-adv/translation-table.c:4179
batadv_mesh_init+0x378/0x67c net/batman-adv/main.c:199
CPU: 0 PID: 4086 Comm: syz-executor.0 Not tainted 5.15.113-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023
Call trace:
dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
fail_dump lib/fault-inject.c:52 [inline]
should_fail+0x400/0x5cc lib/fault-inject.c:146
__should_failslab+0xbc/0x110 mm/failslab.c:33
should_failslab+0x10/0x28 mm/slab_common.c:1337
slab_pre_alloc_hook+0x64/0xe8 mm/slab.h:494
slab_alloc_node mm/slub.c:3134 [inline]
slab_alloc mm/slub.c:3228 [inline]
kmem_cache_alloc+0x98/0x45c mm/slub.c:3233
kmem_cache_zalloc include/linux/slab.h:711 [inline]
fill_pool lib/debugobjects.c:171 [inline]
debug_objects_fill_pool+0x434/0x814 lib/debugobjects.c:600
debug_object_activate+0x114/0x790 lib/debugobjects.c:696
debug_timer_activate kernel/time/timer.c:729 [inline]
__mod_timer+0x830/0xd30 kernel/time/timer.c:1050
add_timer+0x6c/0x88 kernel/time/timer.c:1144
__queue_delayed_work kernel/workqueue.c:1687 [inline]
queue_delayed_work_on+0x1f4/0x330 kernel/workqueue.c:1712
queue_delayed_work include/linux/workqueue.h:517 [inline]
batadv_tt_init+0x234/0x26c net/batman-adv/translation-table.c:4179
batadv_mesh_init+0x378/0x67c net/batman-adv/main.c:199
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.

syzbot

unread,
Mar 19, 2024, 6:32:19 AMMar 19
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: b95c01af2113 Linux 5.15.152
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=10fcb2a5180000
kernel config: https://syzkaller.appspot.com/x/.config?x=b26cb65e5b8ad5c7
dashboard link: https://syzkaller.appspot.com/bug?extid=557afc3253b6c451257a
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=12a7daa5180000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=129ec2a5180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/2fc98856fcae/disk-b95c01af.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3186db0dfe08/vmlinux-b95c01af.xz
kernel image: https://storage.googleapis.com/syzbot-assets/0df136a3e808/bzImage-b95c01af.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+557afc...@syzkaller.appspotmail.com

=====================================================
WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
5.15.152-syzkaller #0 Not tainted
-----------------------------------------------------
kworker/0:2/1066 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:
ffff8880784a8020 (&htab->buckets[i].lock){+...}-{2:2}, at: sock_hash_delete_elem+0xac/0x2f0 net/core/sock_map.c:937

and this task is already holding:
ffff8880b9a28098
(&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:946
which would create a new lock dependency:
(
&base->lock){-.-.}-{2:2} -> (&htab->buckets[i].lock){+...}-{2:2}


but this new dependency connects a HARDIRQ-irq-safe lock:
(&base->lock){-.-.}-{2:2}

... which became HARDIRQ-irq-safe at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
lock_timer_base+0x120/0x260 kernel/time/timer.c:946
add_timer_on+0x1eb/0x580 kernel/time/timer.c:1169
handle_irq_event_percpu kernel/irq/handle.c:198 [inline]
handle_irq_event+0x124/0x2b0 kernel/irq/handle.c:213
handle_level_irq+0x3ab/0x6c0 kernel/irq/chip.c:653
generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
handle_irq arch/x86/kernel/irq.c:231 [inline]
__common_interrupt+0xd7/0x1f0 arch/x86/kernel/irq.c:250
common_interrupt+0x9f/0xc0 arch/x86/kernel/irq.c:240
asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:629
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
_raw_spin_unlock_irqrestore+0xd4/0x130 kernel/locking/spinlock.c:194
__setup_irq+0x1302/0x1d90 kernel/irq/manage.c:1817
request_threaded_irq+0x2a7/0x380 kernel/irq/manage.c:2206
request_irq include/linux/interrupt.h:168 [inline]
setup_default_timer_irq+0x1f/0x30 arch/x86/kernel/time.c:70
x86_late_time_init+0x51/0x86 arch/x86/kernel/time.c:94
start_kernel+0x40a/0x535 init/main.c:1100
secondary_startup_64_no_verify+0xb1/0xbb

to a HARDIRQ-irq-unsafe lock:
(
&htab->buckets[i].lock){+...}-{2:2}

... which became HARDIRQ-irq-unsafe at:
...
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178
sock_hash_free+0x14c/0x780 net/core/sock_map.c:1154
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298

other info that might help us debug this:

Possible interrupt unsafe locking scenario:

CPU0 CPU1
---- ----
lock(&htab->buckets[i].lock);
local_irq_disable();
lock(&base->lock);
lock(&htab->buckets[i].lock);
<Interrupt>
lock(&base->lock);

*** DEADLOCK ***

4 locks held by kworker/0:2/1066:
#0: ffff888011c72138
((wq_completion)rcu_gp
){+.+.}-{0:0}
, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1:
ffffc9000524fd20 ((work_completion)(&rew.rew_work)){+.+.}-{0:0}
, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
#2: ffff8880b9a28098
(&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:946
#3: ffffffff8c91f720 (rcu_read_lock){....}-{1:2}
, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:268

the dependencies between HARDIRQ-irq-safe lock and the holding lock:
-> (&base->lock
){-.-.}-{2:2} {
IN-HARDIRQ-W at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
lock_timer_base+0x120/0x260 kernel/time/timer.c:946
add_timer_on+0x1eb/0x580 kernel/time/timer.c:1169
handle_irq_event_percpu kernel/irq/handle.c:198 [inline]
handle_irq_event+0x124/0x2b0 kernel/irq/handle.c:213
handle_level_irq+0x3ab/0x6c0 kernel/irq/chip.c:653
generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
handle_irq arch/x86/kernel/irq.c:231 [inline]
__common_interrupt+0xd7/0x1f0 arch/x86/kernel/irq.c:250
common_interrupt+0x9f/0xc0 arch/x86/kernel/irq.c:240
asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:629
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
_raw_spin_unlock_irqrestore+0xd4/0x130 kernel/locking/spinlock.c:194
__setup_irq+0x1302/0x1d90 kernel/irq/manage.c:1817
request_threaded_irq+0x2a7/0x380 kernel/irq/manage.c:2206
request_irq include/linux/interrupt.h:168 [inline]
setup_default_timer_irq+0x1f/0x30 arch/x86/kernel/time.c:70
x86_late_time_init+0x51/0x86 arch/x86/kernel/time.c:94
start_kernel+0x40a/0x535 init/main.c:1100
secondary_startup_64_no_verify+0xb1/0xbb
IN-SOFTIRQ-W
at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_irq include/linux/spinlock_api_smp.h:128 [inline]
_raw_spin_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:170
__run_timers+0x111/0x890 kernel/time/timer.c:1719
run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1750
__do_softirq+0x3b3/0x93a kernel/softirq.c:558
invoke_softirq kernel/softirq.c:432 [inline]
__irq_exit_rcu+0x155/0x240 kernel/softirq.c:637
irq_exit_rcu+0x5/0x20 kernel/softirq.c:649
common_interrupt+0xa4/0xc0 arch/x86/kernel/irq.c:240
asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:629
string_nocheck lib/vsprintf.c:642 [inline]
string+0x19b/0x2b0 lib/vsprintf.c:724
vsnprintf+0x11fc/0x1c70 lib/vsprintf.c:2811
sprintf+0xd6/0x120 lib/vsprintf.c:3013
print_caller kernel/printk/printk.c:1285 [inline]
info_print_prefix+0x200/0x300 kernel/printk/printk.c:1302
record_print_text kernel/printk/printk.c:1349 [inline]
console_unlock+0x7c1/0x12b0 kernel/printk/printk.c:2719
vprintk_emit+0xbf/0x150 kernel/printk/printk.c:2268
_printk+0xd1/0x111 kernel/printk/printk.c:2293
spectre_v2_select_mitigation+0x4b9/0x748 arch/x86/kernel/cpu/bugs.c:1626
cpu_select_mitigations+0x3d/0x8f arch/x86/kernel/cpu/bugs.c:151
arch_cpu_finalize_init+0xf/0x81 arch/x86/kernel/cpu/common.c:2253
start_kernel+0x419/0x535 init/main.c:1104
secondary_startup_64_no_verify+0xb1/0xbb
INITIAL USE at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
lock_timer_base+0x120/0x260 kernel/time/timer.c:946
add_timer_on+0x1eb/0x580 kernel/time/timer.c:1169
handle_irq_event_percpu kernel/irq/handle.c:198 [inline]
handle_irq_event+0x124/0x2b0 kernel/irq/handle.c:213
handle_level_irq+0x3ab/0x6c0 kernel/irq/chip.c:653
generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
handle_irq arch/x86/kernel/irq.c:231 [inline]
__common_interrupt+0xd7/0x1f0 arch/x86/kernel/irq.c:250
common_interrupt+0x9f/0xc0 arch/x86/kernel/irq.c:240
asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:629
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
_raw_spin_unlock_irqrestore+0xd4/0x130 kernel/locking/spinlock.c:194
__setup_irq+0x1302/0x1d90 kernel/irq/manage.c:1817
request_threaded_irq+0x2a7/0x380 kernel/irq/manage.c:2206
request_irq include/linux/interrupt.h:168 [inline]
setup_default_timer_irq+0x1f/0x30 arch/x86/kernel/time.c:70
x86_late_time_init+0x51/0x86 arch/x86/kernel/time.c:94
start_kernel+0x40a/0x535 init/main.c:1100
secondary_startup_64_no_verify+0xb1/0xbb
}
... key at: [<ffffffff9140bfc0>] init_timer_cpu.__key+0x0/0x20

the dependencies between the lock to be acquired
and HARDIRQ-irq-unsafe lock:
-> (&htab->buckets[i].lock
){+...}-{2:2} {
HARDIRQ-ON-W at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178
sock_hash_free+0x14c/0x780 net/core/sock_map.c:1154
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
INITIAL USE at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178
sock_hash_free+0x14c/0x780 net/core/sock_map.c:1154
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
}
... key at: [<ffffffff91789700>] sock_hash_alloc.__key+0x0/0x20
... acquired at:
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178
sock_hash_delete_elem+0xac/0x2f0 net/core/sock_map.c:937
bpf_prog_2c29ac5cdc6b1842+0x3a/0xca8
bpf_dispatcher_nop_func include/linux/bpf.h:780 [inline]
__bpf_prog_run include/linux/filter.h:625 [inline]
bpf_prog_run include/linux/filter.h:632 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline]
bpf_trace_run3+0x1d1/0x380 kernel/trace/bpf_trace.c:1918
trace_timer_start include/trace/events/timer.h:52 [inline]
enqueue_timer+0x3ae/0x540 kernel/time/timer.c:586
internal_add_timer kernel/time/timer.c:611 [inline]
__mod_timer+0xa60/0xeb0 kernel/time/timer.c:1062
schedule_timeout+0x1b4/0x300 kernel/time/timer.c:1883
synchronize_rcu_expedited_wait_once kernel/rcu/tree_exp.h:472 [inline]
synchronize_rcu_expedited_wait kernel/rcu/tree_exp.h:523 [inline]
rcu_exp_wait_wake kernel/rcu/tree_exp.h:590 [inline]
rcu_exp_sel_wait_wake+0x7cb/0x1c00 kernel/rcu/tree_exp.h:624
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298


stack backtrace:
CPU: 0 PID: 1066 Comm: kworker/0:2 Not tainted 5.15.152-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
Workqueue: rcu_gp wait_rcu_exp_gp

Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
print_bad_irq_dependency kernel/locking/lockdep.c:2567 [inline]
check_irq_usage kernel/locking/lockdep.c:2806 [inline]
check_prev_add kernel/locking/lockdep.c:3057 [inline]
check_prevs_add kernel/locking/lockdep.c:3172 [inline]
validate_chain+0x4d01/0x5930 kernel/locking/lockdep.c:3788
__lock_acquire+0x1295/0x1ff0 kernel/locking/lockdep.c:5012
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
__raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178
sock_hash_delete_elem+0xac/0x2f0 net/core/sock_map.c:937
bpf_prog_2c29ac5cdc6b1842+0x3a/0xca8
bpf_dispatcher_nop_func include/linux/bpf.h:780 [inline]
__bpf_prog_run include/linux/filter.h:625 [inline]
bpf_prog_run include/linux/filter.h:632 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline]
bpf_trace_run3+0x1d1/0x380 kernel/trace/bpf_trace.c:1918
trace_timer_start include/trace/events/timer.h:52 [inline]
enqueue_timer+0x3ae/0x540 kernel/time/timer.c:586
internal_add_timer kernel/time/timer.c:611 [inline]
__mod_timer+0xa60/0xeb0 kernel/time/timer.c:1062
schedule_timeout+0x1b4/0x300 kernel/time/timer.c:1883
synchronize_rcu_expedited_wait_once kernel/rcu/tree_exp.h:472 [inline]
synchronize_rcu_expedited_wait kernel/rcu/tree_exp.h:523 [inline]
rcu_exp_wait_wake kernel/rcu/tree_exp.h:590 [inline]
rcu_exp_sel_wait_wake+0x7cb/0x1c00 kernel/rcu/tree_exp.h:624
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
Reply all
Reply to author
Forward
0 new messages