Re: [Syzkaller & bisect] There is perf_event_open triggered soft lockup BUG in v6.5-rc5 kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



++ linux-media emial list.

On 2023-08-13 at 12:00:18 +0800, Pengfei Xu wrote:
> Hi Paul,
> 
> Greeting!
> 
> There is perf_event_open triggered soft lockup BUG in v6.5-rc5 kernel.
> 
> All detailed info link: https://github.com/xupengfe/syzkaller_logs/tree/main/230812_084142_BUG_soft_lockup
> Syzkaller reproduced code: https://github.com/xupengfe/syzkaller_logs/blob/main/230812_084142_BUG_soft_lockup/repro.c
> Syzkaller reproduced step: https://github.com/xupengfe/syzkaller_logs/blob/main/230812_084142_BUG_soft_lockup/repro.prog
> Syzkaller report analysis: https://github.com/xupengfe/syzkaller_logs/blob/main/230812_084142_BUG_soft_lockup/repro.report
> Kconfig(Need "make olddefconfig" to generate target kconfig): https://github.com/xupengfe/syzkaller_logs/blob/main/230812_084142_BUG_soft_lockup/kconfig_origin
> Bisect info: https://github.com/xupengfe/syzkaller_logs/blob/main/230812_084142_BUG_soft_lockup/bisect_info.log
> Issue dmesg: https://github.com/xupengfe/syzkaller_logs/blob/main/230812_084142_BUG_soft_lockup/52a93d39b17dc7eb98b6aa3edb93943248e03b2f_dmesg.log
> v6.5-rc5 bzImage: https://github.com/xupengfe/syzkaller_logs/raw/main/230812_084142_BUG_soft_lockup/bzImage_52a93d39b17dc7eb98b6aa3edb93943248e03b2f.tar.gz
> 
> This issue could be reproduced in 253s.
> 
> Bisected and found first bad commit is:
> f042b08b833d media: sun6i-mipi-csi2: Require both pads to be connected for streaming
> 
> "
> [   28.083677] cgroup: Unknown subsys name 'rlimit'
> [   73.568711] watchdog: BUG: soft lockup - CPU#0 stuck for 23s! [repro:1253]
> [   73.573792] Kernel panic - not syncing: softlockup: hung tasks
> [   73.574833] CPU: 0 PID: 1253 Comm: repro Tainted: G             L     6.5.0-rc5-52a93d39b17d #1
> [   73.576363] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
> [   73.578364] Call Trace:
> [   73.578824]  <IRQ>
> [   73.579210]  dump_stack_lvl+0xa9/0x110
> [   73.579938]  dump_stack+0x19/0x20
> [   73.580562]  panic+0x660/0x6d0
> [   73.581165]  ? __pfx_panic+0x10/0x10
> [   73.581866]  ? watchdog_timer_fn+0x4ab/0x5c0
> [   73.582674]  watchdog_timer_fn+0x4c9/0x5c0
> [   73.583421]  ? __pfx_watchdog_timer_fn+0x10/0x10
> [   73.584258]  __hrtimer_run_queues+0x61a/0xba0
> [   73.585068]  ? __pfx___hrtimer_run_queues+0x10/0x10
> [   73.585970]  ? ktime_get_update_offsets_now+0x25b/0x340
> [   73.586932]  ? write_comp_data+0x2f/0x90
> [   73.587678]  hrtimer_interrupt+0x326/0x7b0
> [   73.588453]  __sysvec_apic_timer_interrupt+0x14f/0x3f0
> [   73.589411]  sysvec_apic_timer_interrupt+0x48/0xd0
> [   73.590308]  asm_sysvec_apic_timer_interrupt+0x1f/0x30
> [   73.591252] RIP: 0010:is_bpf_text_address+0x139/0x1c0
> [   73.592184] Code: ff e8 7b 3b e7 ff 48 c7 c2 80 05 93 85 be ef 02 00 00 48 c7 c7 e0 05 93 85 c6 05 ca 5f fa 05 01 e8 dc 6e c5 ff e9 22 ff ff ff <e8> 52 3b e7 ff e8 5d b2 ce ff 31 ff 89 c3 89 c6 e8 a2 3c e7 ff 84
> [   73.595436] RSP: 0018:ffff88806ca096e0 EFLAGS: 00000202
> [   73.596374] RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffffffff81772d6f
> [   73.597646] RDX: 0000000000000000 RSI: ffff88800ff7a500 RDI: 0000000000000003
> [   73.598921] RBP: ffff88806ca096f0 R08: fffffbfff133afd9 R09: fffffbfff133afd9
> [   73.600185] R10: fffffbfff133afd8 R11: ffffffff899d7ec7 R12: 0000000000000000
> [   73.601454] R13: 0000000000000000 R14: ffff88800ff7a500 R15: 0000000000000000
> [   73.602740]  ? is_bpf_text_address+0x7f/0x1c0
> [   73.603557]  kernel_text_address+0xd5/0xe0
> [   73.604313]  __kernel_text_address+0x16/0x50
> [   73.605109]  unwind_get_return_address+0x6e/0xc0
> [   73.605979]  ? __pfx_stack_trace_consume_entry+0x10/0x10
> [   73.606951]  arch_stack_walk+0xa5/0x100
> [   73.607671]  stack_trace_save+0x8b/0xc0
> [   73.608385]  ? __pfx_stack_trace_save+0x10/0x10
> [   73.609237]  kasan_save_stack+0x2a/0x50
> [   73.609964]  ? kasan_save_stack+0x2a/0x50
> [   73.610707]  ? kasan_set_track+0x29/0x40
> [   73.611458]  ? kasan_save_alloc_info+0x22/0x30
> [   73.612274]  ? __kasan_slab_alloc+0x64/0x80
> [   73.613046]  ? slab_post_alloc_hook+0x84/0x3b0
> [   73.613872]  ? kmem_cache_alloc_node+0x18a/0x2e0
> [   73.614725]  ? __alloc_skb+0x2b6/0x360
> [   73.615435]  ? __neigh_notify+0x91/0x170
> [   73.616171]  ? neigh_timer_handler+0x2b8/0xfa0
> [   73.616981]  ? call_timer_fn+0x1a5/0x570
> [   73.617712]  ? run_timer_softirq+0x714/0x14d0
> [   73.618511]  ? __do_softirq+0x1b7/0x77c
> [   73.619222]  ? irq_exit_rcu+0xc1/0x110
> [   73.619928]  ? sysvec_apic_timer_interrupt+0xa1/0xd0
> [   73.620828]  ? asm_sysvec_apic_timer_interrupt+0x1f/0x30
> [   73.621797]  ? generic_exec_single+0x278/0x540
> [   73.622619]  ? smp_call_function_single+0x193/0x460
> [   73.623506]  ? task_function_call+0x10e/0x1a0
> [   73.624318]  ? perf_install_in_context+0x2f9/0x5b0
> [   73.625191]  ? __do_sys_perf_event_open+0x1a9a/0x2a50
> [   73.626130]  ? __x64_sys_perf_event_open+0xc7/0x160
> [   73.627024]  ? do_syscall_64+0x3b/0x90
> [   73.627721]  ? entry_SYSCALL_64_after_hwframe+0x6e/0xd8
> [   73.628676]  ? write_comp_data+0x2f/0x90
> [   73.629422]  ? debug_smp_processor_id+0x20/0x30
> [   73.630266]  ? __sanitizer_cov_trace_pc+0x25/0x60
> [   73.631131]  ? write_comp_data+0x2f/0x90
> [   73.631871]  ? mark_held_locks+0xb7/0x140
> [   73.632608]  ? irqentry_exit+0x3e/0xa0
> [   73.633311]  ? sysvec_irq_work+0x58/0xd0
> [   73.634065]  ? __this_cpu_preempt_check+0x20/0x30
> [   73.634928]  ? lockdep_hardirqs_on+0x8a/0x110
> [   73.635731]  ? irqentry_exit+0x3e/0xa0
> [   73.636433]  ? trace_hardirqs_on+0x26/0x120
> [   73.637208]  kasan_set_track+0x29/0x40
> [   73.637939]  kasan_save_alloc_info+0x22/0x30
> [   73.638726]  __kasan_slab_alloc+0x64/0x80
> [   73.639487]  slab_post_alloc_hook+0x84/0x3b0
> [   73.640283]  kmem_cache_alloc_node+0x18a/0x2e0
> [   73.641101]  ? __alloc_skb+0x2b6/0x360
> [   73.641817]  __alloc_skb+0x2b6/0x360
> [   73.642494]  ? __pfx___alloc_skb+0x10/0x10
> [   73.643255]  ? asm_sysvec_irq_work+0x1f/0x30
> [   73.644063]  __neigh_notify+0x91/0x170
> [   73.644768]  neigh_timer_handler+0x2b8/0xfa0
> [   73.645572]  ? __pfx_neigh_timer_handler+0x10/0x10
> [   73.646448]  call_timer_fn+0x1a5/0x570
> [   73.647137]  ? asm_sysvec_irq_work+0x1f/0x30
> [   73.647929]  ? __pfx_call_timer_fn+0x10/0x10
> [   73.648725]  ? __pfx_neigh_timer_handler+0x10/0x10
> [   73.649611]  run_timer_softirq+0x714/0x14d0
> [   73.650401]  ? __pfx_run_timer_softirq+0x10/0x10
> [   73.651240]  ? asm_sysvec_irq_work+0x1f/0x30
> [   73.652040]  ? __pfx_run_timer_softirq+0x10/0x10
> [   73.652890]  __do_softirq+0x1b7/0x77c
> [   73.653593]  irq_exit_rcu+0xc1/0x110
> [   73.654261]  sysvec_apic_timer_interrupt+0xa1/0xd0
> [   73.655132]  </IRQ>
> [   73.655532]  <TASK>
> [   73.655943]  asm_sysvec_apic_timer_interrupt+0x1f/0x30
> [   73.656889] RIP: 0010:generic_exec_single+0x278/0x540
> [   73.657832] Code: e8 0d 85 0b 00 4c 89 e6 31 ff 31 db e8 11 87 0b 00 4d 85 e4 0f 84 3e fe ff ff e8 f3 84 0b 00 e8 8e f0 17 00 fb 0f 1f 44 00 00 <e9> 29 fe ff ff e8 de 84 0b 00 65 8b 1d a3 6a b1 7e 89 db be 08 00
> [   73.661070] RSP: 0018:ffff88800fa97ac8 EFLAGS: 00000202
> [   73.662013] RAX: 0000000000000485 RBX: 0000000000000000 RCX: 1ffffffff1343c28
> [   73.663275] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
> [   73.664538] RBP: ffff88800fa97af0 R08: 0000000000000001 R09: fffffbfff133afee
> [   73.665808] R10: 0000000000000001 R11: ffffffff899d7f6f R12: 0000000000000200
> [   73.667071] R13: ffffffff818e9ad0 R14: ffff88800fa97c20 R15: ffff88800fa97b48
> [   73.668333]  ? __pfx_remote_function+0x10/0x10
> [   73.669163]  ? generic_exec_single+0x272/0x540
> [   73.670005]  smp_call_function_single+0x193/0x460
> [   73.670866]  ? write_comp_data+0x2f/0x90
> [   73.671590]  ? __pfx_remote_function+0x10/0x10
> [   73.672406]  ? __pfx_smp_call_function_single+0x10/0x10
> [   73.673371]  ? __pfx_remote_function+0x10/0x10
> [   73.674209]  ? __sanitizer_cov_trace_pc+0x25/0x60
> [   73.675081]  task_function_call+0x10e/0x1a0
> [   73.675855]  ? __pfx_task_function_call+0x10/0x10
> [   73.676720]  ? __pfx___perf_install_in_context+0x10/0x10
> [   73.677693]  ? exclusive_event_installable+0x25b/0x320
> [   73.678626]  ? write_comp_data+0x2f/0x90
> [   73.679358]  perf_install_in_context+0x2f9/0x5b0
> [   73.680206]  ? __pfx_perf_install_in_context+0x10/0x10
> [   73.681145]  ? write_comp_data+0x2f/0x90
> [   73.681897]  ? __sanitizer_cov_trace_pc+0x25/0x60
> [   73.682767]  __do_sys_perf_event_open+0x1a9a/0x2a50
> [   73.683672]  ? __pfx___do_sys_perf_event_open+0x10/0x10
> [   73.684649]  __x64_sys_perf_event_open+0xc7/0x160
> [   73.685526]  ? syscall_enter_from_user_mode+0x51/0x60
> [   73.686449]  do_syscall_64+0x3b/0x90
> [   73.687114]  entry_SYSCALL_64_after_hwframe+0x6e/0xd8
> [   73.688035] RIP: 0033:0x7f904803ee5d
> [   73.688694] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 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 8b 0d 93 af 1b 00 f7 d8 64 89 01 48
> [   73.691934] RSP: 002b:00007ffcb1c151a8 EFLAGS: 00000206 ORIG_RAX: 000000000000012a
> [   73.693269] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f904803ee5d
> [   73.694545] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000280
> [   73.695804] RBP: 00007ffcb1c151b0 R08: 0000000000000000 R09: 00007ffcb1c15200
> [   73.697064] R10: 00000000ffffffff R11: 0000000000000206 R12: 00007ffcb1c15348
> [   73.698337] R13: 0000000000407f0f R14: 000000000040adf8 R15: 00007f9048381000
> [   73.699619]  </TASK>
> [   73.700900] Kernel Offset: disabled
> [   73.701602] ---[ end Kernel panic - not syncing: softlockup: hung tasks ]---
> "
> 
> ---
> 
> If you don't need the following environment to reproduce the problem or if you
> already have one, please ignore the following information.
> 
> How to reproduce:
> git clone https://gitlab.com/xupengfe/repro_vm_env.git
> cd repro_vm_env
> tar -xvf repro_vm_env.tar.gz
> cd repro_vm_env; ./start3.sh  // it needs qemu-system-x86_64 and I used v7.1.0
>   // start3.sh will load bzImage_2241ab53cbb5cdb08a6b2d4688feb13971058f65 v6.2-rc5 kernel
>   // You could change the bzImage_xxx as you want
>   // Maybe you need to remove line "-drive if=pflash,format=raw,readonly=on,file=./OVMF_CODE.fd \" for different qemu version
> You could use below command to log in, there is no password for root.
> ssh -p 10023 root@localhost
> 
> After login vm(virtual machine) successfully, you could transfer reproduced
> binary to the vm by below way, and reproduce the problem in vm:
> gcc -pthread -o repro repro.c
> scp -P 10023 repro root@localhost:/root/
> 
> Get the bzImage for target kernel:
> Please use target kconfig and copy it to kernel_src/.config
> make olddefconfig
> make -jx bzImage           //x should equal or less than cpu num your pc has
> 
> Fill the bzImage file name into above start3.sh to load the target kernel in vm.
> 
> 
> Tips:
> If you already have qemu-system-x86_64, please ignore below info.
> If you want to install qemu v7.1.0 version:
> git clone https://github.com/qemu/qemu.git
> cd qemu
> git checkout -f v7.1.0
> mkdir build
> cd build
> yum install -y ninja-build.x86_64
> yum -y install libslirp-devel.x86_64
> ../configure --target-list=x86_64-softmmu --enable-kvm --enable-vnc --enable-gtk --enable-sdl --enable-usb-redir --enable-slirp
> make
> make install
> 
> Best Regards,
> Thanks!



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux