linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] rethook: Remove warning messages printed for finding return address of a frame.
@ 2024-04-08 17:51 Kui-Feng Lee
  2024-04-09  0:22 ` Masami Hiramatsu
  0 siblings, 1 reply; 2+ messages in thread
From: Kui-Feng Lee @ 2024-04-08 17:51 UTC (permalink / raw
  To: mhiramat, martin.lau, kernel-team, andrii, linux-trace-kernel,
	bpf, daniel
  Cc: sinquersw, kuifeng, Kui-Feng Lee, John Fastabend

The function rethook_find_ret_addr() prints a warning message and returns 0
when the target task is running and is not the "current" task in order to
prevent the incorrect return address, although it still may return an
incorrect address.

However, the warning message turns into noise when BPF profiling programs
call bpf_get_task_stack() on running tasks in a firm with a large number of
hosts.

The callers should be aware and willing to take the risk of receiving an
incorrect return address from a task that is currently running other than
the "current" one. A warning is not needed here as the callers are intent
on it.

Acked-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com>

---
Changes from v1:

 - Rephrased the commit log.

   - Removed the confusing last part of the first paragraph.

   - Removed "frequently" from the 2nd paragraph, replaced by "a firm with
     a large number of hosts".

v1: https://lore.kernel.org/all/20240401191621.758056-1-thinker.li@gmail.com/
---
 kernel/trace/rethook.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/rethook.c b/kernel/trace/rethook.c
index fa03094e9e69..4297a132a7ae 100644
--- a/kernel/trace/rethook.c
+++ b/kernel/trace/rethook.c
@@ -248,7 +248,7 @@ unsigned long rethook_find_ret_addr(struct task_struct *tsk, unsigned long frame
 	if (WARN_ON_ONCE(!cur))
 		return 0;
 
-	if (WARN_ON_ONCE(tsk != current && task_is_running(tsk)))
+	if (tsk != current && task_is_running(tsk))
 		return 0;
 
 	do {
-- 
2.34.1


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

* Re: [PATCH v2] rethook: Remove warning messages printed for finding return address of a frame.
  2024-04-08 17:51 [PATCH v2] rethook: Remove warning messages printed for finding return address of a frame Kui-Feng Lee
@ 2024-04-09  0:22 ` Masami Hiramatsu
  0 siblings, 0 replies; 2+ messages in thread
From: Masami Hiramatsu @ 2024-04-09  0:22 UTC (permalink / raw
  To: Kui-Feng Lee
  Cc: martin.lau, kernel-team, andrii, linux-trace-kernel, bpf, daniel,
	sinquersw, kuifeng, John Fastabend

On Mon,  8 Apr 2024 10:51:40 -0700
Kui-Feng Lee <thinker.li@gmail.com> wrote:

> The function rethook_find_ret_addr() prints a warning message and returns 0
> when the target task is running and is not the "current" task in order to
> prevent the incorrect return address, although it still may return an
> incorrect address.
> 
> However, the warning message turns into noise when BPF profiling programs
> call bpf_get_task_stack() on running tasks in a firm with a large number of
> hosts.
> 
> The callers should be aware and willing to take the risk of receiving an
> incorrect return address from a task that is currently running other than
> the "current" one. A warning is not needed here as the callers are intent
> on it.
> 

OK, looks good to me. Let me pick it to probes/for-next. Thanks!

> Acked-by: Andrii Nakryiko <andrii@kernel.org>
> Acked-by: John Fastabend <john.fastabend@gmail.com>
> Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com>
> 
> ---
> Changes from v1:
> 
>  - Rephrased the commit log.
> 
>    - Removed the confusing last part of the first paragraph.
> 
>    - Removed "frequently" from the 2nd paragraph, replaced by "a firm with
>      a large number of hosts".
> 
> v1: https://lore.kernel.org/all/20240401191621.758056-1-thinker.li@gmail.com/
> ---
>  kernel/trace/rethook.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/rethook.c b/kernel/trace/rethook.c
> index fa03094e9e69..4297a132a7ae 100644
> --- a/kernel/trace/rethook.c
> +++ b/kernel/trace/rethook.c
> @@ -248,7 +248,7 @@ unsigned long rethook_find_ret_addr(struct task_struct *tsk, unsigned long frame
>  	if (WARN_ON_ONCE(!cur))
>  		return 0;
>  
> -	if (WARN_ON_ONCE(tsk != current && task_is_running(tsk)))
> +	if (tsk != current && task_is_running(tsk))
>  		return 0;
>  
>  	do {
> -- 
> 2.34.1
> 


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

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

end of thread, other threads:[~2024-04-09  0:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-08 17:51 [PATCH v2] rethook: Remove warning messages printed for finding return address of a frame Kui-Feng Lee
2024-04-09  0:22 ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).