On Tue, 26 Mar 2019 01:23:03 +0530 Hariprasad Kelam <hariprasad.ke...@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.ke...@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;