[PATCH] neighbor: tracing: Have neigh_create event use __string()

Steven Rostedt posted 1 patch 3 years, 9 months ago
include/trace/events/neigh.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] neighbor: tracing: Have neigh_create event use __string()
Posted by Steven Rostedt 3 years, 9 months ago
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

The dev field of the neigh_create event uses __dynamic_array() with a
fixed size, which defeats the purpose of __dynamic_array(). Looking at the
logic, as it already uses __assign_str(), just use the same logic in
__string to create the size needed. It appears that because "dev" can be
NULL, it needs the check. But __string() can have the same checks as
__assign_str() so use them there too.

Cc: David Ahern <dsahern@gmail.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---

[ This is simpler logic than the fib* events, so I figured just
  convert to __string() instead of a static __array() ]

 include/trace/events/neigh.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/trace/events/neigh.h b/include/trace/events/neigh.h
index 62bb17516713..5eaa1fa99171 100644
--- a/include/trace/events/neigh.h
+++ b/include/trace/events/neigh.h
@@ -30,7 +30,7 @@ TRACE_EVENT(neigh_create,
 
 	TP_STRUCT__entry(
 		__field(u32, family)
-		__dynamic_array(char,  dev,   IFNAMSIZ )
+		__string(dev, dev ? dev->name : "NULL")
 		__field(int, entries)
 		__field(u8, created)
 		__field(u8, gc_exempt)
-- 
2.35.1
Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()
Posted by Jakub Kicinski 3 years, 9 months ago
On Tue, 5 Jul 2022 18:37:41 -0400 Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> The dev field of the neigh_create event uses __dynamic_array() with a
> fixed size, which defeats the purpose of __dynamic_array(). Looking at the
> logic, as it already uses __assign_str(), just use the same logic in
> __string to create the size needed. It appears that because "dev" can be
> NULL, it needs the check. But __string() can have the same checks as
> __assign_str() so use them there too.
> 
> Cc: David Ahern <dsahern@gmail.com>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> 
> [ This is simpler logic than the fib* events, so I figured just
>   convert to __string() instead of a static __array() ]

This one is also going via your tree?
Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()
Posted by Steven Rostedt 3 years, 9 months ago
On Thu, 7 Jul 2022 17:21:01 -0700
Jakub Kicinski <kuba@kernel.org> wrote:

> > 
> > [ This is simpler logic than the fib* events, so I figured just
> >   convert to __string() instead of a static __array() ]  
> 
> This one is also going via your tree?

Yep, I can pull it in too.

-- Steve
Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()
Posted by Jakub Kicinski 3 years, 9 months ago
On Thu, 7 Jul 2022 20:56:22 -0400 Steven Rostedt wrote:
> > > [ This is simpler logic than the fib* events, so I figured just
> > >   convert to __string() instead of a static __array() ]    
> > 
> > This one is also going via your tree?  
> 
> Yep, I can pull it in too.

Acked-by: Jakub Kicinski <kuba@kernel.org>
Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()
Posted by David Ahern 3 years, 9 months ago
On 7/5/22 4:37 PM, Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> The dev field of the neigh_create event uses __dynamic_array() with a
> fixed size, which defeats the purpose of __dynamic_array(). Looking at the
> logic, as it already uses __assign_str(), just use the same logic in
> __string to create the size needed. It appears that because "dev" can be
> NULL, it needs the check. But __string() can have the same checks as
> __assign_str() so use them there too.
> 
> Cc: David Ahern <dsahern@gmail.com>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> 
> [ This is simpler logic than the fib* events, so I figured just
>   convert to __string() instead of a static __array() ]
> 

agreed.

Reviewed-by: David Ahern <dsahern@kernel.org>