[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2552809E-4EBC-4F3D-94A4-41BE0ECB27C2@fb.com>
Date: Thu, 26 Oct 2017 23:50:06 +0000
From: Song Liu <songliubraving@...com>
To: kbuild test robot <lkp@...el.com>,
David Miller <davem@...emloft.net>
CC: "kbuild-all@...org" <kbuild-all@...org>,
"alexei.starovoitov@...il.com" <alexei.starovoitov@...il.com>,
Martin Lau <kafai@...com>, Alexei Starovoitov <ast@...com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"liu.song.a23@...il.com" <liu.song.a23@...il.com>
Subject: Re: [PATCH net-next] tcp: add tracepoint
trace_tcp_retransmit_synack()
> On Oct 25, 2017, at 8:13 PM, kbuild test robot <lkp@...el.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
Powered by blists - more mailing lists