All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tracing/eprobe: Fix warning in filter creation
@ 2022-11-08 20:21 Rafael Mendonca
  2022-11-14  6:44 ` Masami Hiramatsu
  0 siblings, 1 reply; 2+ messages in thread
From: Rafael Mendonca @ 2022-11-08 20:21 UTC (permalink / raw)
  To: Steven Rostedt, Masami Hiramatsu; +Cc: Rafael Mendonca, linux-kernel

The filter pointer (filterp) passed to create_filter() function must be a
pointer that references a NULL pointer, otherwise, we get a warning when
adding a filter option to the event probe:

root@localhost:/sys/kernel/tracing# echo 'e:egroup/stat_runtime_4core sched/sched_stat_runtime \
        runtime=$runtime:u32 if cpu < 4' >> dynamic_events
[ 5034.340439] ------------[ cut here ]------------
[ 5034.341258] WARNING: CPU: 0 PID: 223 at kernel/trace/trace_events_filter.c:1939 create_filter+0x1db/0x250
[...] stripped
[ 5034.345518] RIP: 0010:create_filter+0x1db/0x250
[...] stripped
[ 5034.351604] Call Trace:
[ 5034.351803]  <TASK>
[ 5034.351959]  ? process_preds+0x1b40/0x1b40
[ 5034.352241]  ? rcu_read_lock_bh_held+0xd0/0xd0
[ 5034.352604]  ? kasan_set_track+0x29/0x40
[ 5034.352904]  ? kasan_save_alloc_info+0x1f/0x30
[ 5034.353264]  create_event_filter+0x38/0x50
[ 5034.353573]  __trace_eprobe_create+0x16f4/0x1d20
[ 5034.353964]  ? eprobe_dyn_event_release+0x360/0x360
[ 5034.354363]  ? mark_held_locks+0xa6/0xf0
[ 5034.354684]  ? _raw_spin_unlock_irqrestore+0x35/0x60
[ 5034.355105]  ? trace_hardirqs_on+0x41/0x120
[ 5034.355417]  ? _raw_spin_unlock_irqrestore+0x35/0x60
[ 5034.355751]  ? __create_object+0x5b7/0xcf0
[ 5034.356027]  ? lock_is_held_type+0xaf/0x120
[ 5034.356362]  ? rcu_read_lock_bh_held+0xb0/0xd0
[ 5034.356716]  ? rcu_read_lock_bh_held+0xd0/0xd0
[ 5034.357084]  ? kasan_set_track+0x29/0x40
[ 5034.357411]  ? kasan_save_alloc_info+0x1f/0x30
[ 5034.357715]  ? __kasan_kmalloc+0xb8/0xc0
[ 5034.357985]  ? write_comp_data+0x2f/0x90
[ 5034.358302]  ? __sanitizer_cov_trace_pc+0x25/0x60
[ 5034.358691]  ? argv_split+0x381/0x460
[ 5034.358949]  ? write_comp_data+0x2f/0x90
[ 5034.359240]  ? eprobe_dyn_event_release+0x360/0x360
[ 5034.359620]  trace_probe_create+0xf6/0x110
[ 5034.359940]  ? trace_probe_match_command_args+0x240/0x240
[ 5034.360376]  eprobe_dyn_event_create+0x21/0x30
[ 5034.360709]  create_dyn_event+0xf3/0x1a0
[ 5034.360983]  trace_parse_run_command+0x1a9/0x2e0
[ 5034.361297]  ? dyn_event_release+0x500/0x500
[ 5034.361591]  dyn_event_write+0x39/0x50
[ 5034.361851]  vfs_write+0x311/0xe50
[ 5034.362091]  ? dyn_event_seq_next+0x40/0x40
[ 5034.362376]  ? kernel_write+0x5b0/0x5b0
[ 5034.362637]  ? write_comp_data+0x2f/0x90
[ 5034.362937]  ? __sanitizer_cov_trace_pc+0x25/0x60
[ 5034.363258]  ? ftrace_syscall_enter+0x544/0x840
[ 5034.363563]  ? write_comp_data+0x2f/0x90
[ 5034.363837]  ? __sanitizer_cov_trace_pc+0x25/0x60
[ 5034.364156]  ? write_comp_data+0x2f/0x90
[ 5034.364468]  ? write_comp_data+0x2f/0x90
[ 5034.364770]  ksys_write+0x158/0x2a0
[ 5034.365022]  ? __ia32_sys_read+0xc0/0xc0
[ 5034.365344]  __x64_sys_write+0x7c/0xc0
[ 5034.365669]  ? syscall_enter_from_user_mode+0x53/0x70
[ 5034.366084]  do_syscall_64+0x60/0x90
[ 5034.366356]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[ 5034.366767] RIP: 0033:0x7ff0b43938f3
[...] stripped
[ 5034.371892]  </TASK>
[ 5034.374720] ---[ end trace 0000000000000000 ]---

Fixes: 752be5c5c910 ("tracing/eprobe: Add eprobe filter support")
Signed-off-by: Rafael Mendonca <rafaelmendsr@gmail.com>
---
 kernel/trace/trace_eprobe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c
index 5dd0617e5df6..c2153bf59936 100644
--- a/kernel/trace/trace_eprobe.c
+++ b/kernel/trace/trace_eprobe.c
@@ -900,7 +900,7 @@ static int trace_eprobe_tp_update_arg(struct trace_eprobe *ep, const char *argv[
 
 static int trace_eprobe_parse_filter(struct trace_eprobe *ep, int argc, const char *argv[])
 {
-	struct event_filter *dummy;
+	struct event_filter *dummy = NULL;
 	int i, ret, len = 0;
 	char *p;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] tracing/eprobe: Fix warning in filter creation
  2022-11-08 20:21 [PATCH] tracing/eprobe: Fix warning in filter creation Rafael Mendonca
@ 2022-11-14  6:44 ` Masami Hiramatsu
  0 siblings, 0 replies; 2+ messages in thread
From: Masami Hiramatsu @ 2022-11-14  6:44 UTC (permalink / raw)
  To: Rafael Mendonca; +Cc: Steven Rostedt, linux-kernel

On Tue,  8 Nov 2022 17:21:47 -0300
Rafael Mendonca <rafaelmendsr@gmail.com> wrote:

> The filter pointer (filterp) passed to create_filter() function must be a
> pointer that references a NULL pointer, otherwise, we get a warning when
> adding a filter option to the event probe:
> 
> root@localhost:/sys/kernel/tracing# echo 'e:egroup/stat_runtime_4core sched/sched_stat_runtime \
>         runtime=$runtime:u32 if cpu < 4' >> dynamic_events
> [ 5034.340439] ------------[ cut here ]------------
> [ 5034.341258] WARNING: CPU: 0 PID: 223 at kernel/trace/trace_events_filter.c:1939 create_filter+0x1db/0x250
> [...] stripped
> [ 5034.345518] RIP: 0010:create_filter+0x1db/0x250
> [...] stripped
> [ 5034.351604] Call Trace:
> [ 5034.351803]  <TASK>
> [ 5034.351959]  ? process_preds+0x1b40/0x1b40
> [ 5034.352241]  ? rcu_read_lock_bh_held+0xd0/0xd0
> [ 5034.352604]  ? kasan_set_track+0x29/0x40
> [ 5034.352904]  ? kasan_save_alloc_info+0x1f/0x30
> [ 5034.353264]  create_event_filter+0x38/0x50
> [ 5034.353573]  __trace_eprobe_create+0x16f4/0x1d20
> [ 5034.353964]  ? eprobe_dyn_event_release+0x360/0x360
> [ 5034.354363]  ? mark_held_locks+0xa6/0xf0
> [ 5034.354684]  ? _raw_spin_unlock_irqrestore+0x35/0x60
> [ 5034.355105]  ? trace_hardirqs_on+0x41/0x120
> [ 5034.355417]  ? _raw_spin_unlock_irqrestore+0x35/0x60
> [ 5034.355751]  ? __create_object+0x5b7/0xcf0
> [ 5034.356027]  ? lock_is_held_type+0xaf/0x120
> [ 5034.356362]  ? rcu_read_lock_bh_held+0xb0/0xd0
> [ 5034.356716]  ? rcu_read_lock_bh_held+0xd0/0xd0
> [ 5034.357084]  ? kasan_set_track+0x29/0x40
> [ 5034.357411]  ? kasan_save_alloc_info+0x1f/0x30
> [ 5034.357715]  ? __kasan_kmalloc+0xb8/0xc0
> [ 5034.357985]  ? write_comp_data+0x2f/0x90
> [ 5034.358302]  ? __sanitizer_cov_trace_pc+0x25/0x60
> [ 5034.358691]  ? argv_split+0x381/0x460
> [ 5034.358949]  ? write_comp_data+0x2f/0x90
> [ 5034.359240]  ? eprobe_dyn_event_release+0x360/0x360
> [ 5034.359620]  trace_probe_create+0xf6/0x110
> [ 5034.359940]  ? trace_probe_match_command_args+0x240/0x240
> [ 5034.360376]  eprobe_dyn_event_create+0x21/0x30
> [ 5034.360709]  create_dyn_event+0xf3/0x1a0
> [ 5034.360983]  trace_parse_run_command+0x1a9/0x2e0
> [ 5034.361297]  ? dyn_event_release+0x500/0x500
> [ 5034.361591]  dyn_event_write+0x39/0x50
> [ 5034.361851]  vfs_write+0x311/0xe50
> [ 5034.362091]  ? dyn_event_seq_next+0x40/0x40
> [ 5034.362376]  ? kernel_write+0x5b0/0x5b0
> [ 5034.362637]  ? write_comp_data+0x2f/0x90
> [ 5034.362937]  ? __sanitizer_cov_trace_pc+0x25/0x60
> [ 5034.363258]  ? ftrace_syscall_enter+0x544/0x840
> [ 5034.363563]  ? write_comp_data+0x2f/0x90
> [ 5034.363837]  ? __sanitizer_cov_trace_pc+0x25/0x60
> [ 5034.364156]  ? write_comp_data+0x2f/0x90
> [ 5034.364468]  ? write_comp_data+0x2f/0x90
> [ 5034.364770]  ksys_write+0x158/0x2a0
> [ 5034.365022]  ? __ia32_sys_read+0xc0/0xc0
> [ 5034.365344]  __x64_sys_write+0x7c/0xc0
> [ 5034.365669]  ? syscall_enter_from_user_mode+0x53/0x70
> [ 5034.366084]  do_syscall_64+0x60/0x90
> [ 5034.366356]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
> [ 5034.366767] RIP: 0033:0x7ff0b43938f3
> [...] stripped
> [ 5034.371892]  </TASK>
> [ 5034.374720] ---[ end trace 0000000000000000 ]---
> 
> Fixes: 752be5c5c910 ("tracing/eprobe: Add eprobe filter support")
> Signed-off-by: Rafael Mendonca <rafaelmendsr@gmail.com>

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks!

> ---
>  kernel/trace/trace_eprobe.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c
> index 5dd0617e5df6..c2153bf59936 100644
> --- a/kernel/trace/trace_eprobe.c
> +++ b/kernel/trace/trace_eprobe.c
> @@ -900,7 +900,7 @@ static int trace_eprobe_tp_update_arg(struct trace_eprobe *ep, const char *argv[
>  
>  static int trace_eprobe_parse_filter(struct trace_eprobe *ep, int argc, const char *argv[])
>  {
> -	struct event_filter *dummy;
> +	struct event_filter *dummy = NULL;
>  	int i, ret, len = 0;
>  	char *p;
>  
> -- 
> 2.34.1
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-11-14  6:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-08 20:21 [PATCH] tracing/eprobe: Fix warning in filter creation Rafael Mendonca
2022-11-14  6:44 ` Masami Hiramatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.