Messages in this thread | | | Date | Wed, 27 Mar 2019 11:53:30 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] trace: events: fix error directive in argument list |
| |
On Tue, 26 Mar 2019 01:23:03 +0530 Hariprasad Kelam <hariprasad.kelam@gmail.com> wrote:
> This patch fixes below spare errors. > > Sparse error: > make C=2 CF=-D__CHECK_ENDIAN__ M=net/core > ./include/trace/events/neigh.h:73:1: error: directive in argument list > ./include/trace/events/neigh.h:78:1: error: directive in argument list > ./include/trace/events/neigh.h:150:1: error: directive in argument list > ./include/trace/events/neigh.h:155:1: error: directive in argument list >
I have nothing really against these patches, but why is the current code considered wrong?
Note, TRACE_EVENTS() are "special macros". They hold structure definitions and full code inside the argument list. There should be no reason that this is causing a warning.
Perhaps we should blacklist the include/trace directory from sparse checking for these types of "errors".
-- Steve
> Changes below two lines to signle line to avoid sparse error > #if IS_ENABLED(CONFIG_IPV6) > if (n->tbl->family == AF_INET6) { > to if (IS_ENABLED(CONFIG_IPV6) && n->tbl->family == AF_INET6) > > and removes reassigning pin6 pointer when IPV6 is enabled > > Signed-off-by: Hariprasad Kelam <hariprasad.kelam@gmail.com> > --- > include/trace/events/neigh.h | 19 +++++-------------- > 1 file changed, 5 insertions(+), 14 deletions(-) > > diff --git a/include/trace/events/neigh.h b/include/trace/events/neigh.h > index 0bdb085..6e310ea 100644 > --- a/include/trace/events/neigh.h > +++ b/include/trace/events/neigh.h > @@ -70,15 +70,11 @@ TRACE_EVENT(neigh_update, > else > *p32 = 0; > > -#if IS_ENABLED(CONFIG_IPV6) > - if (n->tbl->family == AF_INET6) { > - pin6 = (struct in6_addr *)__entry->primary_key6; > + if (IS_ENABLED(CONFIG_IPV6) && n->tbl->family == AF_INET6) > *pin6 = *(struct in6_addr *)n->primary_key; > - } else > -#endif > - { > + else > ipv6_addr_set_v4mapped(*p32, pin6); > - } > + > __entry->confirmed = n->confirmed; > __entry->updated = n->updated; > __entry->used = n->used; > @@ -147,15 +143,10 @@ DECLARE_EVENT_CLASS(neigh__update, > else > *p32 = 0; > > -#if IS_ENABLED(CONFIG_IPV6) > - if (n->tbl->family == AF_INET6) { > - pin6 = (struct in6_addr *)__entry->primary_key6; > + if (IS_ENABLED(CONFIG_IPV6) && n->tbl->family == AF_INET6) > *pin6 = *(struct in6_addr *)n->primary_key; > - } else > -#endif > - { > + else > ipv6_addr_set_v4mapped(*p32, pin6); > - } > > __entry->confirmed = n->confirmed; > __entry->updated = n->updated;
| |