Thread (9 messages) flat view 9 messages, 5 authors, 2017-10-27

Re: [PATCH net-next] tcp: add tracepoint trace_tcp_retransmit_synack()

From: Song Liu <hidden>
Date: 2017-10-26 23:50:24

On Oct 25, 2017, at 8:13 PM, kbuild test robot [off-list ref] 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	
quoted
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
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help