[PATCH v2] tracing: Add warning if string in __assign_str() does not match __string()

Steven Rostedt posted 1 patch 1 year, 11 months ago
include/trace/stages/stage6_event_callback.h | 1 +
1 file changed, 1 insertion(+)
[PATCH v2] tracing: Add warning if string in __assign_str() does not match __string()
Posted by Steven Rostedt 1 year, 11 months ago
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

In preparation to remove the second parameter of __assign_str(), make sure
it is really a duplicate of __string() by adding a WARN_ON_ONCE().

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
Changes since v1: https://lore.kernel.org/linux-trace-kernel/20240223154821.77b2426d@gandalf.local.home/

- If src is NULL it is saved as NULL, no need to not test that too.

 include/trace/stages/stage6_event_callback.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/trace/stages/stage6_event_callback.h b/include/trace/stages/stage6_event_callback.h
index 0c0f50bcdc56..935608971899 100644
--- a/include/trace/stages/stage6_event_callback.h
+++ b/include/trace/stages/stage6_event_callback.h
@@ -35,6 +35,7 @@
 	do {								\
 		char *__str__ = __get_str(dst);				\
 		int __len__ = __get_dynamic_array_len(dst) - 1;		\
+		WARN_ON_ONCE((src) != __data_offsets.dst##_ptr_);	\
 		memcpy(__str__, __data_offsets.dst##_ptr_ ? :		\
 		       EVENT_NULL_STR, __len__);			\
 		__str__[__len__] = '\0';				\
-- 
2.43.0
Re: [PATCH v2] tracing: Add warning if string in __assign_str() does not match __string()
Posted by Masami Hiramatsu (Google) 1 year, 11 months ago
On Fri, 23 Feb 2024 16:13:56 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> In preparation to remove the second parameter of __assign_str(), make sure
> it is really a duplicate of __string() by adding a WARN_ON_ONCE().
> 

Looks good to me. So eventually this is removed when the second parameter
is removed?

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

Thank you,

> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> Changes since v1: https://lore.kernel.org/linux-trace-kernel/20240223154821.77b2426d@gandalf.local.home/
> 
> - If src is NULL it is saved as NULL, no need to not test that too.
> 
>  include/trace/stages/stage6_event_callback.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/trace/stages/stage6_event_callback.h b/include/trace/stages/stage6_event_callback.h
> index 0c0f50bcdc56..935608971899 100644
> --- a/include/trace/stages/stage6_event_callback.h
> +++ b/include/trace/stages/stage6_event_callback.h
> @@ -35,6 +35,7 @@
>  	do {								\
>  		char *__str__ = __get_str(dst);				\
>  		int __len__ = __get_dynamic_array_len(dst) - 1;		\
> +		WARN_ON_ONCE((src) != __data_offsets.dst##_ptr_);	\
>  		memcpy(__str__, __data_offsets.dst##_ptr_ ? :		\
>  		       EVENT_NULL_STR, __len__);			\
>  		__str__[__len__] = '\0';				\
> -- 
> 2.43.0
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v2] tracing: Add warning if string in __assign_str() does not match __string()
Posted by Steven Rostedt 1 year, 11 months ago
On Mon, 26 Feb 2024 09:33:28 +0900
Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:

> On Fri, 23 Feb 2024 16:13:56 -0500
> Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> > 
> > In preparation to remove the second parameter of __assign_str(), make sure
> > it is really a duplicate of __string() by adding a WARN_ON_ONCE().
> >   
> 
> Looks good to me. So eventually this is removed when the second parameter
> is removed?

Yes, I applied this after my other patches.


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


Thanks!

-- Steve