Re: [PATCH v3] ping: Check return value of function 'ping_queue_rcv_skb'

From: kernel test robot
Date: Tue Jun 08 2021 - 02:46:04 EST


Hi Zheng,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]
[also build test WARNING on net/master linus/master sparc-next/master v5.13-rc5 next-20210607]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Zheng-Yongjun/ping-Check-return-value-of-function-ping_queue_rcv_skb/20210608-095716
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git dc8cf7550a703b8b9c94beed621c6c2474347eff
config: ia64-randconfig-r035-20210607 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/bdcbf04f42e253fb727ce96bb2a680bd6c449468
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Zheng-Yongjun/ping-Check-return-value-of-function-ping_queue_rcv_skb/20210608-095716
git checkout bdcbf04f42e253fb727ce96bb2a680bd6c449468
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

In file included from arch/ia64/include/asm/pgtable.h:154,
from include/linux/pgtable.h:6,
from arch/ia64/include/asm/uaccess.h:40,
from include/linux/uaccess.h:11,
from net/ipv4/ping.c:18:
arch/ia64/include/asm/mmu_context.h: In function 'reload_context':
arch/ia64/include/asm/mmu_context.h:127:41: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable]
127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4;
| ^~~~~~~
net/ipv4/ping.c: In function 'ping_rcv':
>> net/ipv4/ping.c:966:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
966 | bool rc = false;
| ^~~~


vim +966 net/ipv4/ping.c

946
947
948 /*
949 * All we need to do is get the socket.
950 */
951
952 bool ping_rcv(struct sk_buff *skb)
953 {
954 struct sock *sk;
955 struct net *net = dev_net(skb->dev);
956 struct icmphdr *icmph = icmp_hdr(skb);
957
958 /* We assume the packet has already been checked by icmp_rcv */
959
960 pr_debug("ping_rcv(skb=%p,id=%04x,seq=%04x)\n",
961 skb, ntohs(icmph->un.echo.id), ntohs(icmph->un.echo.sequence));
962
963 /* Push ICMP header back */
964 skb_push(skb, skb->data - (u8 *)icmph);
965
> 966 bool rc = false;
967 sk = ping_lookup(net, skb, ntohs(icmph->un.echo.id));
968 if (sk) {
969 struct sk_buff *skb2 = skb_clone(skb, GFP_ATOMIC);
970
971 pr_debug("rcv on socket %p\n", sk);
972 if (skb2 && !ping_queue_rcv_skb(sk, skb2))
973 rc = true;
974 sock_put(sk);
975 }
976 pr_debug("no socket, dropping\n");
977
978 return rc;
979 }
980 EXPORT_SYMBOL_GPL(ping_rcv);
981

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip