On Thu, Aug 28, 2025 at 4:43 PM kernel test robot <[email protected]> wrote: > > > > Hello, > > 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
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 > [ 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 >
