diff mbox series

[v2] rethook: Remove warning messages printed for finding return address of a frame.

Message ID 20240408175140.60223-1-thinker.li@gmail.com (mailing list archive)
State Not Applicable
Headers show
Series [v2] rethook: Remove warning messages printed for finding return address of a frame. | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Kui-Feng Lee April 8, 2024, 5:51 p.m. UTC
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(-)

Comments

Masami Hiramatsu (Google) April 9, 2024, 12:22 a.m. UTC | #1
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
>
diff mbox series

Patch

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 {