Hi Pablo,
I love your patch! Yet something to improve:
[auto build test ERROR on nf/master]
url:
https://github.com/0day-ci/linux/commits/Pablo-Neira-Ayuso/netfilter-nft_...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git master
config: arm-randconfig-r001-20210615 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
#
https://github.com/0day-ci/linux/commit/f572a05becf9cc86053b01e0f0f898334...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Pablo-Neira-Ayuso/netfilter-nft_exthdr-check-for-IPv6-packet-before-further-processing/20210616-144640
git checkout f572a05becf9cc86053b01e0f0f898334583692a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
> net/netfilter/nft_osf.c:33:3: error: 'break' statement
not in loop or switch statement
break;
^
1 error generated.
vim +/break +33 net/netfilter/nft_osf.c
19
20 static void nft_osf_eval(const struct nft_expr *expr, struct nft_regs *regs,
21 const struct nft_pktinfo *pkt)
22 {
23 struct nft_osf *priv = nft_expr_priv(expr);
24 u32 *dest = ®s->data[priv->dreg];
25 struct sk_buff *skb = pkt->skb;
26 char os_match[NFT_OSF_MAXGENRELEN + 1];
27 const struct tcphdr *tcp;
28 struct nf_osf_data data;
29 struct tcphdr _tcph;
30
31 if (pkt->tprot != IPPROTO_TCP) {
32 regs->verdict.code = NFT_BREAK;
33 break;
34 }
35
36 tcp = skb_header_pointer(skb, ip_hdrlen(skb),
37 sizeof(struct tcphdr), &_tcph);
38 if (!tcp) {
39 regs->verdict.code = NFT_BREAK;
40 return;
41 }
42 if (!tcp->syn) {
43 regs->verdict.code = NFT_BREAK;
44 return;
45 }
46
47 if (!nf_osf_find(skb, nf_osf_fingers, priv->ttl, &data)) {
48 strncpy((char *)dest, "unknown", NFT_OSF_MAXGENRELEN);
49 } else {
50 if (priv->flags & NFT_OSF_F_VERSION)
51 snprintf(os_match, NFT_OSF_MAXGENRELEN, "%s:%s",
52 data.genre, data.version);
53 else
54 strlcpy(os_match, data.genre, NFT_OSF_MAXGENRELEN);
55
56 strncpy((char *)dest, os_match, NFT_OSF_MAXGENRELEN);
57 }
58 }
59
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org