netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Ander Juaristi <a@juaristi.eus>
Cc: kbuild-all@01.org, netfilter-devel@vger.kernel.org
Subject: Re: [PATCH v3] netfilter: nft_meta: support for time matching
Date: Wed, 7 Aug 2019 23:27:52 +0800	[thread overview]
Message-ID: <201908072207.PfTHrUGc%lkp@intel.com> (raw)
In-Reply-To: <20190802071233.5580-1-a@juaristi.eus>

Hi Ander,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[cannot apply to v5.3-rc3 next-20190807]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Ander-Juaristi/netfilter-nft_meta-support-for-time-matching/20190804-141253
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-rc1-7-g2b96cd8-dirty
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

   include/linux/sched.h:609:43: sparse: sparse: bad integer constant expression
   include/linux/sched.h:609:73: sparse: sparse: invalid named zero-width bitfield `value'
   include/linux/sched.h:610:43: sparse: sparse: bad integer constant expression
   include/linux/sched.h:610:67: sparse: sparse: invalid named zero-width bitfield `bucket_id'
   net/bridge/netfilter/nft_meta_bridge.c:41:14: sparse: sparse: undefined identifier 'NFT_META_BRI_IIFPVID'
   net/bridge/netfilter/nft_meta_bridge.c:52:14: sparse: sparse: undefined identifier 'NFT_META_BRI_IIFVPROTO'
>> net/bridge/netfilter/nft_meta_bridge.c:41:14: sparse: sparse: incompatible types for 'case' statement
   net/bridge/netfilter/nft_meta_bridge.c:52:14: sparse: sparse: incompatible types for 'case' statement
   net/bridge/netfilter/nft_meta_bridge.c:88:14: sparse: sparse: undefined identifier 'NFT_META_BRI_IIFPVID'
   net/bridge/netfilter/nft_meta_bridge.c:89:14: sparse: sparse: undefined identifier 'NFT_META_BRI_IIFVPROTO'
   net/bridge/netfilter/nft_meta_bridge.c:88:14: sparse: sparse: incompatible types for 'case' statement
   net/bridge/netfilter/nft_meta_bridge.c:89:14: sparse: sparse: incompatible types for 'case' statement
   net/bridge/netfilter/nft_meta_bridge.c:41:14: sparse: sparse: Expected constant expression in case statement
   net/bridge/netfilter/nft_meta_bridge.c:52:14: sparse: sparse: Expected constant expression in case statement
   net/bridge/netfilter/nft_meta_bridge.c:88:14: sparse: sparse: Expected constant expression in case statement
   net/bridge/netfilter/nft_meta_bridge.c:89:14: sparse: sparse: Expected constant expression in case statement

vim +/case +41 net/bridge/netfilter/nft_meta_bridge.c

30e103fe24debc wenxu 2019-07-05  20  
30e103fe24debc wenxu 2019-07-05  21  static void nft_meta_bridge_get_eval(const struct nft_expr *expr,
30e103fe24debc wenxu 2019-07-05  22  				     struct nft_regs *regs,
30e103fe24debc wenxu 2019-07-05  23  				     const struct nft_pktinfo *pkt)
30e103fe24debc wenxu 2019-07-05  24  {
30e103fe24debc wenxu 2019-07-05  25  	const struct nft_meta *priv = nft_expr_priv(expr);
30e103fe24debc wenxu 2019-07-05  26  	const struct net_device *in = nft_in(pkt), *out = nft_out(pkt);
30e103fe24debc wenxu 2019-07-05  27  	u32 *dest = &regs->data[priv->dreg];
9d6a1ecdc99717 wenxu 2019-07-05  28  	const struct net_device *br_dev;
30e103fe24debc wenxu 2019-07-05  29  
30e103fe24debc wenxu 2019-07-05  30  	switch (priv->key) {
30e103fe24debc wenxu 2019-07-05  31  	case NFT_META_BRI_IIFNAME:
9d6a1ecdc99717 wenxu 2019-07-05  32  		br_dev = nft_meta_get_bridge(in);
9d6a1ecdc99717 wenxu 2019-07-05  33  		if (!br_dev)
30e103fe24debc wenxu 2019-07-05  34  			goto err;
30e103fe24debc wenxu 2019-07-05  35  		break;
30e103fe24debc wenxu 2019-07-05  36  	case NFT_META_BRI_OIFNAME:
9d6a1ecdc99717 wenxu 2019-07-05  37  		br_dev = nft_meta_get_bridge(out);
9d6a1ecdc99717 wenxu 2019-07-05  38  		if (!br_dev)
30e103fe24debc wenxu 2019-07-05  39  			goto err;
30e103fe24debc wenxu 2019-07-05  40  		break;
c54c7c685494fc wenxu 2019-07-05 @41  	case NFT_META_BRI_IIFPVID: {
c54c7c685494fc wenxu 2019-07-05  42  		u16 p_pvid;
c54c7c685494fc wenxu 2019-07-05  43  
c54c7c685494fc wenxu 2019-07-05  44  		br_dev = nft_meta_get_bridge(in);
c54c7c685494fc wenxu 2019-07-05  45  		if (!br_dev || !br_vlan_enabled(br_dev))
c54c7c685494fc wenxu 2019-07-05  46  			goto err;
c54c7c685494fc wenxu 2019-07-05  47  
c54c7c685494fc wenxu 2019-07-05  48  		br_vlan_get_pvid_rcu(in, &p_pvid);
c54c7c685494fc wenxu 2019-07-05  49  		nft_reg_store16(dest, p_pvid);
c54c7c685494fc wenxu 2019-07-05  50  		return;
c54c7c685494fc wenxu 2019-07-05  51  	}
2a3a93ef0ba516 wenxu 2019-07-05  52  	case NFT_META_BRI_IIFVPROTO: {
2a3a93ef0ba516 wenxu 2019-07-05  53  		u16 p_proto;
2a3a93ef0ba516 wenxu 2019-07-05  54  
2a3a93ef0ba516 wenxu 2019-07-05  55  		br_dev = nft_meta_get_bridge(in);
2a3a93ef0ba516 wenxu 2019-07-05  56  		if (!br_dev || !br_vlan_enabled(br_dev))
2a3a93ef0ba516 wenxu 2019-07-05  57  			goto err;
2a3a93ef0ba516 wenxu 2019-07-05  58  
2a3a93ef0ba516 wenxu 2019-07-05  59  		br_vlan_get_proto(br_dev, &p_proto);
2a3a93ef0ba516 wenxu 2019-07-05  60  		nft_reg_store16(dest, p_proto);
2a3a93ef0ba516 wenxu 2019-07-05  61  		return;
2a3a93ef0ba516 wenxu 2019-07-05  62  	}
30e103fe24debc wenxu 2019-07-05  63  	default:
30e103fe24debc wenxu 2019-07-05  64  		goto out;
30e103fe24debc wenxu 2019-07-05  65  	}
30e103fe24debc wenxu 2019-07-05  66  
9d6a1ecdc99717 wenxu 2019-07-05  67  	strncpy((char *)dest, br_dev->name, IFNAMSIZ);
30e103fe24debc wenxu 2019-07-05  68  	return;
30e103fe24debc wenxu 2019-07-05  69  out:
30e103fe24debc wenxu 2019-07-05  70  	return nft_meta_get_eval(expr, regs, pkt);
30e103fe24debc wenxu 2019-07-05  71  err:
30e103fe24debc wenxu 2019-07-05  72  	regs->verdict.code = NFT_BREAK;
30e103fe24debc wenxu 2019-07-05  73  }
30e103fe24debc wenxu 2019-07-05  74  

:::::: The code at line 41 was first introduced by commit
:::::: c54c7c685494fc0f1662091d4d0c4fc26e810471 netfilter: nft_meta_bridge: add NFT_META_BRI_IIFPVID support

:::::: TO: wenxu <wenxu@ucloud.cn>
:::::: CC: Pablo Neira Ayuso <pablo@netfilter.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

  parent reply	other threads:[~2019-08-07 15:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-02  7:12 [PATCH v3] netfilter: nft_meta: support for time matching Ander Juaristi
2019-08-02  7:36 ` Ander Juaristi
2019-08-02  9:37   ` Florian Westphal
2019-08-07 14:04 ` kbuild test robot
2019-08-07 15:27 ` kbuild test robot [this message]
2019-08-07 17:14 ` kbuild test robot
2019-08-09 11:49 ` Pablo Neira Ayuso

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=201908072207.PfTHrUGc%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=a@juaristi.eus \
    --cc=kbuild-all@01.org \
    --cc=netfilter-devel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).