dfe0d675df: WARNING:suspicious_RCU_usage
kernel test robot
build botHello,
kernel test robot noticed "WARNING:suspicious_RCU_usage" on:
commit: dfe0d675df82fb9297ff98253b9c3042fdab5544 ("tracing: fprobe: use rhltable for fprobe_ip_table")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
[test failed on linux-next/master d0630b758e593506126e8eda6c3d56097d1847c5]
in testcase: kernel-selftests-bpf
version:
with following parameters:
group: ftrace
config: x86_64-rhel-9.4-bpf
compiler: gcc-12
test machine: 4 threads Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz (Skylake) with 32G memory
(please refer to attached dmesg/kmsg for entire log/backtrace)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]
[ 354.896751][ T4652] ============================= [ 354.901528][ T4652] WARNING: suspicious RCU usage [ 354.906255][ T4652] 6.17.0-rc1-00001-gdfe0d675df82 #1 Tainted: G S I [ 354.913924][ T4652] ----------------------------- [ 354.918654][ T4652] include/linux/rhashtable.h:602 suspicious rcu_dereference_check() usage! [ 354.927114][ T4652] [ 354.927114][ T4652] other info that might help us debug this: [ 354.927114][ T4652] [ 354.937180][ T4652] [ 354.937180][ T4652] rcu_scheduler_active = 2, debug_locks = 1 [ 354.945106][ T4652] no locks held by ftracetest/4652. [ 354.950167][ T4652] [ 354.950167][ T4652] stack backtrace: [ 354.955924][ T4652] CPU: 1 UID: 0 PID: 4652 Comm: ftracetest Tainted: G S I 6.17.0-rc1-00001-gdfe0d675df82 #1 PREEMPT(voluntary) [ 354.955948][ T4652] Tainted: [S]=CPU_OUT_OF_SPEC, [I]=FIRMWARE_WORKAROUND [ 354.955950][ T4652] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.1.1 10/07/2015 [ 354.955966][ T4652] Call Trace: [ 354.955968][ T4652] <TASK> [ 354.955971][ T4652] dump_stack_lvl+0x7c/0x90 [ 354.955978][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0 [ 354.955987][ T4652] __rhashtable_lookup+0x1e0/0x260 [ 354.955994][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956000][ T4652] fprobe_entry+0x9a/0x450 [ 354.956017][ T4652] ? __lock_acquire+0x6b0/0xca0 [ 354.956022][ T4652] ? find_held_lock+0x2b/0x80 [ 354.956041][ T4652] ? __pfx_fprobe_entry+0x10/0x10 [ 354.956045][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956049][ T4652] ? lock_acquire+0x14c/0x2d0 [ 354.956053][ T4652] ? __might_fault+0x74/0xc0 [ 354.956063][ T4652] function_graph_enter_regs+0x2a0/0x550 [ 354.956067][ T4652] ? __do_sys_clone+0xb5/0x100 [ 354.956076][ T4652] ? __pfx_function_graph_enter_regs+0x10/0x10 [ 354.956080][ T4652] ? _copy_to_user+0x58/0x70 [ 354.956084][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956088][ T4652] ? __x64_sys_rt_sigprocmask+0x114/0x180 [ 354.956093][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 354.956099][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956103][ T4652] ftrace_graph_func+0x87/0xb0 [ 354.956110][ T4652] 0xffffffffc0547095 [ 354.956118][ T4652] ? __pfx_handle_pte_fault+0x10/0x10 [ 354.956126][ T4652] ? kernel_clone+0x5/0x560 [ 354.956132][ T4652] kernel_clone+0x5/0x560 [ 354.956136][ T4652] __do_sys_clone+0xb5/0x100 [ 354.956140][ T4652] ? __pfx___do_sys_clone+0x10/0x10 [ 354.956154][ T4652] ? __might_fault+0x74/0xc0 [ 354.956159][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 354.956166][ T4652] ? __x64_sys_clone+0x4d/0x70 [ 354.956172][ T4652] do_syscall_64+0x8c/0x390 [ 354.956177][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 354.956181][ T4652] ? handle_mm_fault+0x198/0x540 [ 354.956186][ T4652] ? exc_page_fault+0x57/0xb0 [ 354.956192][ T4652] ? lock_release+0x6c/0x130 [ 354.956196][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 354.956201][ T4652] ? do_user_addr_fault+0x400/0x730 [ 354.956209][ T4652] ? do_syscall_64+0x169/0x390 [ 354.956213][ T4652] ? lockdep_hardirqs_on_prepare+0xd7/0x190 [ 354.956220][ T4652] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 354.956225][ T4652] RIP: 0033:0x7ff812c54353 [ 354.956229][ T4652] Code: 00 00 00 00 00 66 90 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00 [ 354.956233][ T4652] RSP: 002b:00007ffdebe44c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 354.956237][ T4652] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff812c54353 [ 354.956240][ T4652] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 354.956243][ T4652] RBP: 0000000000000000 R08: 0000000000000000 R09: 000055a6ea2c1f90 [ 354.956245][ T4652] R10: 00007ff812b7ee50 R11: 0000000000000246 R12: 0000000000000001 [ 354.956248][ T4652] R13: 00007ffdebe44ed0 R14: 000055a6bd29eb08 R15: 000055a6ea2c33e0 [ 354.956260][ T4652] </TASK> [ 354.956262][ T4652] [ 355.255635][ T4652] ============================= [ 355.260334][ T4652] WARNING: suspicious RCU usage [ 355.265034][ T4652] 6.17.0-rc1-00001-gdfe0d675df82 #1 Tainted: G S I [ 355.272672][ T4652] ----------------------------- [ 355.277375][ T4652] include/linux/rhashtable.h:376 suspicious rcu_dereference_check() usage! [ 355.285767][ T4652] [ 355.285767][ T4652] other info that might help us debug this: [ 355.285767][ T4652] [ 355.295845][ T4652] [ 355.295845][ T4652] rcu_scheduler_active = 2, debug_locks = 1 [ 355.303744][ T4652] no locks held by ftracetest/4652. [ 355.308785][ T4652] [ 355.308785][ T4652] stack backtrace: [ 355.314561][ T4652] CPU: 1 UID: 0 PID: 4652 Comm: ftracetest Tainted: G S I 6.17.0-rc1-00001-gdfe0d675df82 #1 PREEMPT(voluntary) [ 355.314569][ T4652] Tainted: [S]=CPU_OUT_OF_SPEC, [I]=FIRMWARE_WORKAROUND [ 355.314571][ T4652] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.1.1 10/07/2015 [ 355.314573][ T4652] Call Trace: [ 355.314575][ T4652] <TASK> [ 355.314578][ T4652] dump_stack_lvl+0x7c/0x90 [ 355.314585][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0 [ 355.314594][ T4652] __rhashtable_lookup+0x181/0x260 [ 355.314600][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314606][ T4652] fprobe_entry+0x9a/0x450 [ 355.314610][ T4652] ? __lock_acquire+0x6b0/0xca0 [ 355.314615][ T4652] ? find_held_lock+0x2b/0x80 [ 355.314621][ T4652] ? __pfx_fprobe_entry+0x10/0x10 [ 355.314625][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314629][ T4652] ? lock_acquire+0x14c/0x2d0 [ 355.314646][ T4652] ? __might_fault+0x74/0xc0 [ 355.314655][ T4652] function_graph_enter_regs+0x2a0/0x550 [ 355.314659][ T4652] ? __do_sys_clone+0xb5/0x100 [ 355.314667][ T4652] ? __pfx_function_graph_enter_regs+0x10/0x10 [ 355.314671][ T4652] ? _copy_to_user+0x58/0x70 [ 355.314675][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314679][ T4652] ? __x64_sys_rt_sigprocmask+0x114/0x180 [ 355.314684][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 355.314689][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314694][ T4652] ftrace_graph_func+0x87/0xb0 [ 355.314701][ T4652] 0xffffffffc0547095 [ 355.314708][ T4652] ? __pfx_handle_pte_fault+0x10/0x10 [ 355.314716][ T4652] ? kernel_clone+0x5/0x560 [ 355.314722][ T4652] kernel_clone+0x5/0x560 [ 355.314725][ T4652] __do_sys_clone+0xb5/0x100 [ 355.314730][ T4652] ? __pfx___do_sys_clone+0x10/0x10 [ 355.314743][ T4652] ? __might_fault+0x74/0xc0 [ 355.314748][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 355.314755][ T4652] ? __x64_sys_clone+0x4d/0x70 [ 355.314761][ T4652] do_syscall_64+0x8c/0x390 [ 355.314766][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 355.314770][ T4652] ? handle_mm_fault+0x198/0x540 [ 355.314775][ T4652] ? exc_page_fault+0x57/0xb0 [ 355.314780][ T4652] ? lock_release+0x6c/0x130 [ 355.314785][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 355.314789][ T4652] ? do_user_addr_fault+0x400/0x730 [ 355.314796][ T4652] ? do_syscall_64+0x169/0x390 [ 355.314801][ T4652] ? lockdep_hardirqs_on_prepare+0xd7/0x190 [ 355.314808][ T4652] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 355.314812][ T4652] RIP: 0033:0x7ff812c54353 [ 355.314816][ T4652] Code: 00 00 00 00 00 66 90 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00 [ 355.314819][ T4652] RSP: 002b:00007ffdebe44c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 355.314824][ T4652] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff812c54353 [ 355.314827][ T4652] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 355.314829][ T4652] RBP: 0000000000000000 R08: 0000000000000000 R09: 000055a6ea2c1f90 [ 355.314831][ T4652] R10: 00007ff812b7ee50 R11: 0000000000000246 R12: 0000000000000001 [ 355.314834][ T4652] R13: 00007ffdebe44ed0 R14: 000055a6bd29eb08 R15: 000055a6ea2c33e0 [ 355.314846][ T4652] </TASK>
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20250828/[email protected]
Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
Quoted 46 lines · kernel test robot
Hello,
kernel test robot noticed "WARNING:suspicious_RCU_usage" on:
commit:
dfe0d675df82fb9297ff98253b9c3042fdab5544("tracing: fprobe: use rhltable forfprobe_ip_table")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master[test failed on linux-next/master
d0630b758e593506126e8eda6c3d56097d1847c5]in testcase: kernel-selftests-bpf
version:
with following parameters:group: ftrace
config: x86_64-rhel-9.4-bpf
compiler: gcc-12
test machine: 4 threads Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz (Skylake) with 32G memory(please refer to attached dmesg/kmsg for entire log/backtrace)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected][ 354.896751][ T4652] ============================= [ 354.901528][ T4652] WARNING: suspicious RCU usage [ 354.906255][ T4652] 6.17.0-rc1-00001-gdfe0d675df82 #1 Tainted: G S I [ 354.913924][ T4652] ----------------------------- [ 354.918654][ T4652] include/linux/rhashtable.h:602 suspicious rcu_dereference_check() usage! [ 354.927114][ T4652] [ 354.927114][ T4652] other info that might help us debug this: [ 354.927114][ T4652] [ 354.937180][ T4652] [ 354.937180][ T4652] rcu_scheduler_active = 2, debug_locks = 1 [ 354.945106][ T4652] no locks held by ftracetest/4652. [ 354.950167][ T4652] [ 354.950167][ T4652] stack backtrace:
Quoted 8 lines
[ 354.955924][ T4652] CPU: 1 UID: 0 PID: 4652 Comm: ftracetest Tainted: G S I 6.17.0-rc1-00001-gdfe0d675df82 #1 PREEMPT(voluntary) [ 354.955948][ T4652] Tainted: [S]=CPU_OUT_OF_SPEC, [I]=FIRMWARE_WORKAROUND [ 354.955950][ T4652] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.1.1 10/07/2015 [ 354.955966][ T4652] Call Trace: [ 354.955968][ T4652] <TASK> [ 354.955971][ T4652] dump_stack_lvl+0x7c/0x90 [ 354.955978][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0 [ 354.955987][ T4652] __rhashtable_lookup+0x1e0/0x260
rcu_read_lock() is not needed in fprobe_entry, but rcu_dereference_check() is used in rhltable_lookup(), which causes this warning.
Adding rcu_read_lock() here is able to suppress this warning. Maybe we need only rcu_lock_acquire(&rcu_lock_map) here, but it's not a common usage. What do you think, Masami?
Thanks!
Menglong Dong
Quoted 124 lines
[ 354.955994][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956000][ T4652] fprobe_entry+0x9a/0x450 [ 354.956017][ T4652] ? __lock_acquire+0x6b0/0xca0 [ 354.956022][ T4652] ? find_held_lock+0x2b/0x80 [ 354.956041][ T4652] ? __pfx_fprobe_entry+0x10/0x10 [ 354.956045][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956049][ T4652] ? lock_acquire+0x14c/0x2d0 [ 354.956053][ T4652] ? __might_fault+0x74/0xc0 [ 354.956063][ T4652] function_graph_enter_regs+0x2a0/0x550 [ 354.956067][ T4652] ? __do_sys_clone+0xb5/0x100 [ 354.956076][ T4652] ? __pfx_function_graph_enter_regs+0x10/0x10 [ 354.956080][ T4652] ? _copy_to_user+0x58/0x70 [ 354.956084][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956088][ T4652] ? __x64_sys_rt_sigprocmask+0x114/0x180 [ 354.956093][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 354.956099][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 354.956103][ T4652] ftrace_graph_func+0x87/0xb0 [ 354.956110][ T4652] 0xffffffffc0547095 [ 354.956118][ T4652] ? __pfx_handle_pte_fault+0x10/0x10 [ 354.956126][ T4652] ? kernel_clone+0x5/0x560 [ 354.956132][ T4652] kernel_clone+0x5/0x560 [ 354.956136][ T4652] __do_sys_clone+0xb5/0x100 [ 354.956140][ T4652] ? __pfx___do_sys_clone+0x10/0x10 [ 354.956154][ T4652] ? __might_fault+0x74/0xc0 [ 354.956159][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 354.956166][ T4652] ? __x64_sys_clone+0x4d/0x70 [ 354.956172][ T4652] do_syscall_64+0x8c/0x390 [ 354.956177][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 354.956181][ T4652] ? handle_mm_fault+0x198/0x540 [ 354.956186][ T4652] ? exc_page_fault+0x57/0xb0 [ 354.956192][ T4652] ? lock_release+0x6c/0x130 [ 354.956196][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 354.956201][ T4652] ? do_user_addr_fault+0x400/0x730 [ 354.956209][ T4652] ? do_syscall_64+0x169/0x390 [ 354.956213][ T4652] ? lockdep_hardirqs_on_prepare+0xd7/0x190 [ 354.956220][ T4652] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 354.956225][ T4652] RIP: 0033:0x7ff812c54353 [ 354.956229][ T4652] Code: 00 00 00 00 00 66 90 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00 [ 354.956233][ T4652] RSP: 002b:00007ffdebe44c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 354.956237][ T4652] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff812c54353 [ 354.956240][ T4652] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 354.956243][ T4652] RBP: 0000000000000000 R08: 0000000000000000 R09: 000055a6ea2c1f90 [ 354.956245][ T4652] R10: 00007ff812b7ee50 R11: 0000000000000246 R12: 0000000000000001 [ 354.956248][ T4652] R13: 00007ffdebe44ed0 R14: 000055a6bd29eb08 R15: 000055a6ea2c33e0 [ 354.956260][ T4652] </TASK> [ 354.956262][ T4652] [ 355.255635][ T4652] ============================= [ 355.260334][ T4652] WARNING: suspicious RCU usage [ 355.265034][ T4652] 6.17.0-rc1-00001-gdfe0d675df82 #1 Tainted: G S I [ 355.272672][ T4652] ----------------------------- [ 355.277375][ T4652] include/linux/rhashtable.h:376 suspicious rcu_dereference_check() usage! [ 355.285767][ T4652] [ 355.285767][ T4652] other info that might help us debug this: [ 355.285767][ T4652] [ 355.295845][ T4652] [ 355.295845][ T4652] rcu_scheduler_active = 2, debug_locks = 1 [ 355.303744][ T4652] no locks held by ftracetest/4652. [ 355.308785][ T4652] [ 355.308785][ T4652] stack backtrace: [ 355.314561][ T4652] CPU: 1 UID: 0 PID: 4652 Comm: ftracetest Tainted: G S I 6.17.0-rc1-00001-gdfe0d675df82 #1 PREEMPT(voluntary) [ 355.314569][ T4652] Tainted: [S]=CPU_OUT_OF_SPEC, [I]=FIRMWARE_WORKAROUND [ 355.314571][ T4652] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.1.1 10/07/2015 [ 355.314573][ T4652] Call Trace: [ 355.314575][ T4652] <TASK> [ 355.314578][ T4652] dump_stack_lvl+0x7c/0x90 [ 355.314585][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0 [ 355.314594][ T4652] __rhashtable_lookup+0x181/0x260 [ 355.314600][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314606][ T4652] fprobe_entry+0x9a/0x450 [ 355.314610][ T4652] ? __lock_acquire+0x6b0/0xca0 [ 355.314615][ T4652] ? find_held_lock+0x2b/0x80 [ 355.314621][ T4652] ? __pfx_fprobe_entry+0x10/0x10 [ 355.314625][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314629][ T4652] ? lock_acquire+0x14c/0x2d0 [ 355.314646][ T4652] ? __might_fault+0x74/0xc0 [ 355.314655][ T4652] function_graph_enter_regs+0x2a0/0x550 [ 355.314659][ T4652] ? __do_sys_clone+0xb5/0x100 [ 355.314667][ T4652] ? __pfx_function_graph_enter_regs+0x10/0x10 [ 355.314671][ T4652] ? _copy_to_user+0x58/0x70 [ 355.314675][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314679][ T4652] ? __x64_sys_rt_sigprocmask+0x114/0x180 [ 355.314684][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 355.314689][ T4652] ? __pfx_kernel_clone+0x10/0x10 [ 355.314694][ T4652] ftrace_graph_func+0x87/0xb0 [ 355.314701][ T4652] 0xffffffffc0547095 [ 355.314708][ T4652] ? __pfx_handle_pte_fault+0x10/0x10 [ 355.314716][ T4652] ? kernel_clone+0x5/0x560 [ 355.314722][ T4652] kernel_clone+0x5/0x560 [ 355.314725][ T4652] __do_sys_clone+0xb5/0x100 [ 355.314730][ T4652] ? __pfx___do_sys_clone+0x10/0x10 [ 355.314743][ T4652] ? __might_fault+0x74/0xc0 [ 355.314748][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 355.314755][ T4652] ? __x64_sys_clone+0x4d/0x70 [ 355.314761][ T4652] do_syscall_64+0x8c/0x390 [ 355.314766][ T4652] ? __pfx___x64_sys_rt_sigprocmask+0x10/0x10 [ 355.314770][ T4652] ? handle_mm_fault+0x198/0x540 [ 355.314775][ T4652] ? exc_page_fault+0x57/0xb0 [ 355.314780][ T4652] ? lock_release+0x6c/0x130 [ 355.314785][ T4652] ? tracer_hardirqs_on+0x61/0x170 [ 355.314789][ T4652] ? do_user_addr_fault+0x400/0x730 [ 355.314796][ T4652] ? do_syscall_64+0x169/0x390 [ 355.314801][ T4652] ? lockdep_hardirqs_on_prepare+0xd7/0x190 [ 355.314808][ T4652] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 355.314812][ T4652] RIP: 0033:0x7ff812c54353 [ 355.314816][ T4652] Code: 00 00 00 00 00 66 90 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00 [ 355.314819][ T4652] RSP: 002b:00007ffdebe44c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 355.314824][ T4652] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff812c54353 [ 355.314827][ T4652] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 355.314829][ T4652] RBP: 0000000000000000 R08: 0000000000000000 R09: 000055a6ea2c1f90 [ 355.314831][ T4652] R10: 00007ff812b7ee50 R11: 0000000000000246 R12: 0000000000000001 [ 355.314834][ T4652] R13: 00007ffdebe44ed0 R14: 000055a6bd29eb08 R15: 000055a6ea2c33e0 [ 355.314846][ T4652] </TASK>The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20250828/[email protected]--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Steven Rostedt
maintainerQuoted 7 lines · On Thu, 28 Aug 2025 17:09:35 +0800 Menglong Dong <[email protected]>…
Quoted 3 lines
[ 354.955971][ T4652] dump_stack_lvl+0x7c/0x90 [ 354.955978][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0 [ 354.955987][ T4652] __rhashtable_lookup+0x1e0/0x260
rcu_read_lock()is not needed infprobe_entry, butrcu_dereference_check()is used inrhltable_lookup(), which causes this warning.
Why is rcu_read_lock() not needed in fprobe_entry()?
-- Steve
Quoted 4 lines
Adding
rcu_read_lock()here is able to suppress this warning. Maybe we need onlyrcu_lock_acquire(&rcu_lock_map)here, but it's not a common usage. What do you think, Masami?
Quoted 8 lines · Steven Rostedt
Quoted 4 lines · On Thu, 28 Aug 2025 17:09:35 +0800 Menglong Dong <[email protected]>…
Quoted 3 lines
[ 354.955971][ T4652] dump_stack_lvl+0x7c/0x90 [ 354.955978][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0 [ 354.955987][ T4652] __rhashtable_lookup+0x1e0/0x260
Quoted 5 lines
Quoted 3 lines
rcu_read_lock()is not needed infprobe_entry, butrcu_dereference_check()is used inrhltable_lookup(), which causes this warning.Why is
rcu_read_lock()not needed infprobe_entry()?
This is how it worked previously. In ftrace_test_recursion_trylock(), preemption will be disabled, which ensure the RCU read-side critical section.
Thanks!
Menglong Dong
Quoted 8 lines
-- Steve
Quoted 4 lines
Adding
rcu_read_lock()here is able to suppress this warning. Maybe we need onlyrcu_lock_acquire(&rcu_lock_map)here, but it's not a common usage. What do you think, Masami?