From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [oracle-dtrace:v1/5.15 30/35] net/ipv4/raw.c:358:21: warning: variable 'dropreason' set but not used
Date: Tue, 09 Nov 2021 11:04:37 +0800 [thread overview]
Message-ID: <202111091129.rfKm9SZb-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 7282 bytes --]
tree: https://github.com/oracle/dtrace-linux-kernel v1/5.15
head: 0fee66d7ce96317146609675767971d0f35c3e74
commit: 7ed2333cfd691c676b0adfe951d92244f1ef5128 [30/35] dtrace: add SDT probes
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/oracle/dtrace-linux-kernel/commit/7ed2333cfd691c676b0adfe951d92244f1ef5128
git remote add oracle-dtrace https://github.com/oracle/dtrace-linux-kernel
git fetch --no-tags oracle-dtrace v1/5.15
git checkout 7ed2333cfd691c676b0adfe951d92244f1ef5128
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
net/ipv4/raw.c: In function 'raw_send_hdrinc':
>> net/ipv4/raw.c:358:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
358 | const char *dropreason;
| ^~~~~~~~~~
--
net/ipv4/ip_input.c: In function 'ip_rcv_options':
>> net/ipv4/ip_input.c:273:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
273 | const char *dropreason;
| ^~~~~~~~~~
net/ipv4/ip_input.c: In function 'ip_rcv_core':
net/ipv4/ip_input.c:468:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
468 | const char *dropreason = "header invalid";
| ^~~~~~~~~~
--
net/ipv4/ip_output.c: In function '__ip_append_data':
>> net/ipv4/ip_output.c:979:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
979 | const char *dropreason;
| ^~~~~~~~~~
net/ipv4/ip_output.c: In function 'ip_append_page':
net/ipv4/ip_output.c:1366:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
1366 | const char *dropreason;
| ^~~~~~~~~~
>> net/ipv4/ip_output.c:1365:23: warning: variable 'iph' set but not used [-Wunused-but-set-variable]
1365 | struct iphdr *iph;
| ^~~
vim +/dropreason +358 net/ipv4/raw.c
344
345 static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
346 struct msghdr *msg, size_t length,
347 struct rtable **rtp, unsigned int flags,
348 const struct sockcm_cookie *sockc)
349 {
350 struct inet_sock *inet = inet_sk(sk);
351 struct net *net = sock_net(sk);
352 struct iphdr *iph;
353 struct sk_buff *skb = NULL;
354 unsigned int iphlen;
355 int err;
356 struct rtable *rt = *rtp;
357 int hlen, tlen;
> 358 const char *dropreason;
359
360 if (length > rt->dst.dev->mtu) {
361 ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
362 rt->dst.dev->mtu);
363 dropreason = "packet too big";
364 err = -EMSGSIZE;
365 goto trace_drop;
366 }
367 if (length < sizeof(struct iphdr)) {
368 dropreason = "packet too short";
369 err = -EINVAL;
370 goto trace_drop;
371 }
372
373 if (flags&MSG_PROBE)
374 goto out;
375
376 hlen = LL_RESERVED_SPACE(rt->dst.dev);
377 tlen = rt->dst.dev->needed_tailroom;
378 skb = sock_alloc_send_skb(sk,
379 length + hlen + tlen + 15,
380 flags & MSG_DONTWAIT, &err);
381 if (!skb) {
382 dropreason = "out of memory";
383 goto error;
384 }
385 skb_reserve(skb, hlen);
386
387 skb->priority = sk->sk_priority;
388 skb->mark = sockc->mark;
389 skb->tstamp = sockc->transmit_time;
390 skb_dst_set(skb, &rt->dst);
391 *rtp = NULL;
392
393 skb_reset_network_header(skb);
394 iph = ip_hdr(skb);
395 skb_put(skb, length);
396
397 skb->ip_summed = CHECKSUM_NONE;
398
399 skb_setup_tx_timestamp(skb, sockc->tsflags);
400
401 if (flags & MSG_CONFIRM)
402 skb_set_dst_pending_confirm(skb, 1);
403
404 skb->transport_header = skb->network_header;
405 err = -EFAULT;
406 if (memcpy_from_msg(iph, msg, length)) {
407 dropreason = "could not copy msg";
408 goto error_free;
409 }
410
411 iphlen = iph->ihl * 4;
412
413 /*
414 * We don't want to modify the ip header, but we do need to
415 * be sure that it won't cause problems later along the network
416 * stack. Specifically we want to make sure that iph->ihl is a
417 * sane value. If ihl points beyond the length of the buffer passed
418 * in, reject the frame as invalid
419 */
420 err = -EINVAL;
421 if (iphlen > length) {
422 dropreason = "IP header too big";
423 goto error_free;
424 }
425
426 if (iphlen >= sizeof(*iph)) {
427 if (!iph->saddr)
428 iph->saddr = fl4->saddr;
429 iph->check = 0;
430 iph->tot_len = htons(length);
431 if (!iph->id)
432 ip_select_ident(net, skb, NULL);
433
434 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
435 skb->transport_header += iphlen;
436 if (iph->protocol == IPPROTO_ICMP &&
437 length >= iphlen + sizeof(struct icmphdr))
438 icmp_out_count(net, ((struct icmphdr *)
439 skb_transport_header(skb))->type);
440 }
441
442 DTRACE_IP(send,
443 struct sk_buff * : pktinfo_t *, skb,
444 struct sock * : csinfo_t *, sk,
445 void_ip_t * : ipinfo_t *, iph,
446 struct net_device * : ifinfo_t *, skb->dev,
447 struct iphdr * : ipv4info_t *, iph,
448 struct ipv6hdr * : ipv6info_t *, NULL);
449
450 err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT,
451 net, sk, skb, NULL, rt->dst.dev,
452 dst_output);
453 if (err > 0)
454 err = net_xmit_errno(err);
455 if (err) {
456 dropreason = "device dropping packets of this priority";
457 goto error;
458 }
459 out:
460 return 0;
461
462 error_free:
463 kfree_skb(skb);
464 skb = NULL;
465 error:
466 IP_INC_STATS(net, IPSTATS_MIB_OUTDISCARDS);
467 trace_drop:
468 DTRACE_IP(drop__out,
469 struct sk_buff * : pktinfo_t *, skb,
470 struct sock * : csinfo_t *, skb ? skb->sk : NULL,
471 void_ip_t * : ipinfo_t *, skb ? ip_hdr(skb) : NULL,
472 struct net_device * : ifinfo_t *, skb ? skb->dev : NULL,
473 struct iphdr * : ipv4info_t *, skb ? ip_hdr(skb) : NULL,
474 struct ipv6hdr * : ipv6info_t *, NULL,
475 const char * : string, dropreason);
476 if (err == -ENOBUFS && !inet->recverr)
477 err = 0;
478 return err;
479 }
480
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19961 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Kris Van Hees <kris.van.hees@oracle.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Nick Alcock <nick.alcock@oracle.com>,
Tomas Jedlicka <tomas.jedlicka@oracle.com>,
Eugene Loh <eugene.loh@oracle.com>,
Alan Maguire <alan.maguire@oracle.com>,
David Mc Lean <david.mclean@oracle.com>,
Vincent Lim <vincent.lim@oracle.com>
Subject: [oracle-dtrace:v1/5.15 30/35] net/ipv4/raw.c:358:21: warning: variable 'dropreason' set but not used
Date: Tue, 9 Nov 2021 11:04:37 +0800 [thread overview]
Message-ID: <202111091129.rfKm9SZb-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 7090 bytes --]
tree: https://github.com/oracle/dtrace-linux-kernel v1/5.15
head: 0fee66d7ce96317146609675767971d0f35c3e74
commit: 7ed2333cfd691c676b0adfe951d92244f1ef5128 [30/35] dtrace: add SDT probes
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/oracle/dtrace-linux-kernel/commit/7ed2333cfd691c676b0adfe951d92244f1ef5128
git remote add oracle-dtrace https://github.com/oracle/dtrace-linux-kernel
git fetch --no-tags oracle-dtrace v1/5.15
git checkout 7ed2333cfd691c676b0adfe951d92244f1ef5128
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
net/ipv4/raw.c: In function 'raw_send_hdrinc':
>> net/ipv4/raw.c:358:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
358 | const char *dropreason;
| ^~~~~~~~~~
--
net/ipv4/ip_input.c: In function 'ip_rcv_options':
>> net/ipv4/ip_input.c:273:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
273 | const char *dropreason;
| ^~~~~~~~~~
net/ipv4/ip_input.c: In function 'ip_rcv_core':
net/ipv4/ip_input.c:468:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
468 | const char *dropreason = "header invalid";
| ^~~~~~~~~~
--
net/ipv4/ip_output.c: In function '__ip_append_data':
>> net/ipv4/ip_output.c:979:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
979 | const char *dropreason;
| ^~~~~~~~~~
net/ipv4/ip_output.c: In function 'ip_append_page':
net/ipv4/ip_output.c:1366:21: warning: variable 'dropreason' set but not used [-Wunused-but-set-variable]
1366 | const char *dropreason;
| ^~~~~~~~~~
>> net/ipv4/ip_output.c:1365:23: warning: variable 'iph' set but not used [-Wunused-but-set-variable]
1365 | struct iphdr *iph;
| ^~~
vim +/dropreason +358 net/ipv4/raw.c
344
345 static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
346 struct msghdr *msg, size_t length,
347 struct rtable **rtp, unsigned int flags,
348 const struct sockcm_cookie *sockc)
349 {
350 struct inet_sock *inet = inet_sk(sk);
351 struct net *net = sock_net(sk);
352 struct iphdr *iph;
353 struct sk_buff *skb = NULL;
354 unsigned int iphlen;
355 int err;
356 struct rtable *rt = *rtp;
357 int hlen, tlen;
> 358 const char *dropreason;
359
360 if (length > rt->dst.dev->mtu) {
361 ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
362 rt->dst.dev->mtu);
363 dropreason = "packet too big";
364 err = -EMSGSIZE;
365 goto trace_drop;
366 }
367 if (length < sizeof(struct iphdr)) {
368 dropreason = "packet too short";
369 err = -EINVAL;
370 goto trace_drop;
371 }
372
373 if (flags&MSG_PROBE)
374 goto out;
375
376 hlen = LL_RESERVED_SPACE(rt->dst.dev);
377 tlen = rt->dst.dev->needed_tailroom;
378 skb = sock_alloc_send_skb(sk,
379 length + hlen + tlen + 15,
380 flags & MSG_DONTWAIT, &err);
381 if (!skb) {
382 dropreason = "out of memory";
383 goto error;
384 }
385 skb_reserve(skb, hlen);
386
387 skb->priority = sk->sk_priority;
388 skb->mark = sockc->mark;
389 skb->tstamp = sockc->transmit_time;
390 skb_dst_set(skb, &rt->dst);
391 *rtp = NULL;
392
393 skb_reset_network_header(skb);
394 iph = ip_hdr(skb);
395 skb_put(skb, length);
396
397 skb->ip_summed = CHECKSUM_NONE;
398
399 skb_setup_tx_timestamp(skb, sockc->tsflags);
400
401 if (flags & MSG_CONFIRM)
402 skb_set_dst_pending_confirm(skb, 1);
403
404 skb->transport_header = skb->network_header;
405 err = -EFAULT;
406 if (memcpy_from_msg(iph, msg, length)) {
407 dropreason = "could not copy msg";
408 goto error_free;
409 }
410
411 iphlen = iph->ihl * 4;
412
413 /*
414 * We don't want to modify the ip header, but we do need to
415 * be sure that it won't cause problems later along the network
416 * stack. Specifically we want to make sure that iph->ihl is a
417 * sane value. If ihl points beyond the length of the buffer passed
418 * in, reject the frame as invalid
419 */
420 err = -EINVAL;
421 if (iphlen > length) {
422 dropreason = "IP header too big";
423 goto error_free;
424 }
425
426 if (iphlen >= sizeof(*iph)) {
427 if (!iph->saddr)
428 iph->saddr = fl4->saddr;
429 iph->check = 0;
430 iph->tot_len = htons(length);
431 if (!iph->id)
432 ip_select_ident(net, skb, NULL);
433
434 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
435 skb->transport_header += iphlen;
436 if (iph->protocol == IPPROTO_ICMP &&
437 length >= iphlen + sizeof(struct icmphdr))
438 icmp_out_count(net, ((struct icmphdr *)
439 skb_transport_header(skb))->type);
440 }
441
442 DTRACE_IP(send,
443 struct sk_buff * : pktinfo_t *, skb,
444 struct sock * : csinfo_t *, sk,
445 void_ip_t * : ipinfo_t *, iph,
446 struct net_device * : ifinfo_t *, skb->dev,
447 struct iphdr * : ipv4info_t *, iph,
448 struct ipv6hdr * : ipv6info_t *, NULL);
449
450 err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT,
451 net, sk, skb, NULL, rt->dst.dev,
452 dst_output);
453 if (err > 0)
454 err = net_xmit_errno(err);
455 if (err) {
456 dropreason = "device dropping packets of this priority";
457 goto error;
458 }
459 out:
460 return 0;
461
462 error_free:
463 kfree_skb(skb);
464 skb = NULL;
465 error:
466 IP_INC_STATS(net, IPSTATS_MIB_OUTDISCARDS);
467 trace_drop:
468 DTRACE_IP(drop__out,
469 struct sk_buff * : pktinfo_t *, skb,
470 struct sock * : csinfo_t *, skb ? skb->sk : NULL,
471 void_ip_t * : ipinfo_t *, skb ? ip_hdr(skb) : NULL,
472 struct net_device * : ifinfo_t *, skb ? skb->dev : NULL,
473 struct iphdr * : ipv4info_t *, skb ? ip_hdr(skb) : NULL,
474 struct ipv6hdr * : ipv6info_t *, NULL,
475 const char * : string, dropreason);
476 if (err == -ENOBUFS && !inet->recverr)
477 err = 0;
478 return err;
479 }
480
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 19961 bytes --]
next reply other threads:[~2021-11-09 3:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-09 3:04 kernel test robot [this message]
2021-11-09 3:04 ` [oracle-dtrace:v1/5.15 30/35] net/ipv4/raw.c:358:21: warning: variable 'dropreason' set but not used kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202111091129.rfKm9SZb-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.