2022-07-05 22:48:10

by Steven Rostedt

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

From: "Steven Rostedt (Google)" <[email protected]>

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 <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Signed-off-by: Steven Rostedt (Google) <[email protected]>
---

[ 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


2022-07-06 01:49:26

by David Ahern

[permalink] [raw]
Subject: Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()

On 7/5/22 4:37 PM, Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <[email protected]>
>
> 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 <[email protected]>
> Cc: David S. Miller <[email protected]>
> Cc: [email protected]
> Signed-off-by: Steven Rostedt (Google) <[email protected]>
> ---
>
> [ 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 <[email protected]>

2022-07-08 00:27:44

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()

On Tue, 5 Jul 2022 18:37:41 -0400 Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <[email protected]>
>
> 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 <[email protected]>
> Cc: David S. Miller <[email protected]>
> Cc: [email protected]
> Signed-off-by: Steven Rostedt (Google) <[email protected]>
> ---
>
> [ 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?

2022-07-08 01:11:21

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()

On Thu, 7 Jul 2022 17:21:01 -0700
Jakub Kicinski <[email protected]> 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

2022-07-08 01:35:29

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] neighbor: tracing: Have neigh_create event use __string()

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 <[email protected]>