> On Oct 25, 2017, at 8:13 PM, kbuild test robot <l...@intel.com> wrote:
> 
> Hi Song,
> 
> [auto build test WARNING on net-next/master]
> 
> url:    
> https://github.com/0day-ci/linux/commits/Song-Liu/tcp-add-tracepoint-trace_tcp_retransmit_synack/20171026-010651
> reproduce:
>        # apt-get install sparse
>        make ARCH=x86_64 allmodconfig
>        make C=1 CF=-D__CHECK_ENDIAN__
> 
> 
> sparse warnings: (new ones prefixed by >>)
> 
> 
> vim +281 include/trace/events/tcp.h
> 
>   241 
>   242         TP_PROTO(const struct sock *sk, const struct request_sock *req),
>   243 
>   244         TP_ARGS(sk, req),
>   245 
>   246         TP_STRUCT__entry(
>   247                 __field(const void *, skaddr)
>   248                 __field(const void *, req)
>   249                 __field(__u16, sport)
>   250                 __field(__u16, dport)
>   251                 __array(__u8, saddr, 4)
>   252                 __array(__u8, daddr, 4)
>   253                 __array(__u8, saddr_v6, 16)
>   254                 __array(__u8, daddr_v6, 16)
>   255         ),
>   256 
>   257         TP_fast_assign(
>   258                 struct inet_request_sock *ireq = inet_rsk(req);
>   259                 struct in6_addr *pin6;
>   260                 __be32 *p32;
>   261 
>   262                 __entry->skaddr = sk;
>   263                 __entry->req = req;
>   264 
>   265                 __entry->sport = ireq->ir_num;
>   266                 __entry->dport = ntohs(ireq->ir_rmt_port);
>   267 
>   268                 p32 = (__be32 *) __entry->saddr;
>   269                 *p32 = ireq->ir_loc_addr;
>   270 
>   271                 p32 = (__be32 *) __entry->daddr;
>   272                 *p32 = ireq->ir_rmt_addr;
>   273 
>> 274  #if IS_ENABLED(CONFIG_IPV6)
>   275                 if (sk->sk_family == AF_INET6) {
>   276                         pin6 = (struct in6_addr *)__entry->saddr_v6;
>   277                         *pin6 = ireq->ir_v6_loc_addr;
>   278                         pin6 = (struct in6_addr *)__entry->daddr_v6;
>   279                         *pin6 = ireq->ir_v6_rmt_addr;
>   280                 } else
>> 281  #endif

In this case, we are putting CONFIG_IPV6 in TRACE_EVENT macro, which generates
warnings like:

./include/trace/events/tcp.h:274:1: error: directive in argument list
./include/trace/events/tcp.h:281:1: error: directive in argument list

Seems these warning cannot be easily avoided. This is also the same pattern we 
have been using in include/trace/events/tcp.h. 

Any suggestions on how shall we proceed from here?

Thanks,
Song



Reply via email to