All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: net/netfilter/nf_tables_api.c:9669 nft_verdict_init() warn: passing a valid pointer to 'PTR_ERR'
Date: Sun, 14 Aug 2022 23:28:02 +0800	[thread overview]
Message-ID: <202208142304.8AJF9bcD-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 8034 bytes --]

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
CC: Pablo Neira Ayuso <pablo@netfilter.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   aea23e7c464bfdec04b52cf61edb62030e9e0d0a
commit: 95f466d22364a33d183509629d0879885b4f547e netfilter: nf_tables: do not allow CHAIN_ID to refer to another table
date:   5 days ago
:::::: branch date: 15 hours ago
:::::: commit date: 5 days ago
config: nios2-randconfig-m031-20220814 (https://download.01.org/0day-ci/archive/20220814/202208142304.8AJF9bcD-lkp(a)intel.com/config)
compiler: nios2-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
net/netfilter/nf_tables_api.c:9669 nft_verdict_init() warn: passing a valid pointer to 'PTR_ERR'

Old smatch warnings:
arch/nios2/include/asm/thread_info.h:62 current_thread_info() error: uninitialized symbol 'sp'.
net/netfilter/nf_tables_api.c:2526 nf_tables_newchain() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:3425 nf_tables_newrule() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:3436 nf_tables_newrule() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:3461 nf_tables_newrule() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:4242 nf_tables_getset() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:4468 nf_tables_newset() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:4670 nf_tables_delset() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:5363 nf_tables_getsetelem() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:6514 nf_tables_delsetelem() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:6843 nf_tables_newobj() warn: passing a valid pointer to 'PTR_ERR'
net/netfilter/nf_tables_api.c:7646 nf_tables_newflowtable() warn: passing a valid pointer to 'PTR_ERR'

vim +/PTR_ERR +9669 net/netfilter/nf_tables_api.c

20a69341f2d00c Patrick McHardy               2013-10-11  9626  
20a69341f2d00c Patrick McHardy               2013-10-11  9627  static int nft_verdict_init(const struct nft_ctx *ctx, struct nft_data *data,
20a69341f2d00c Patrick McHardy               2013-10-11  9628  			    struct nft_data_desc *desc, const struct nlattr *nla)
20a69341f2d00c Patrick McHardy               2013-10-11  9629  {
664b0f8cd8c66d Pablo Neira Ayuso             2016-06-12  9630  	u8 genmask = nft_genmask_next(ctx->net);
20a69341f2d00c Patrick McHardy               2013-10-11  9631  	struct nlattr *tb[NFTA_VERDICT_MAX + 1];
20a69341f2d00c Patrick McHardy               2013-10-11  9632  	struct nft_chain *chain;
20a69341f2d00c Patrick McHardy               2013-10-11  9633  	int err;
20a69341f2d00c Patrick McHardy               2013-10-11  9634  
8cb081746c031f Johannes Berg                 2019-04-26  9635  	err = nla_parse_nested_deprecated(tb, NFTA_VERDICT_MAX, nla,
8cb081746c031f Johannes Berg                 2019-04-26  9636  					  nft_verdict_policy, NULL);
20a69341f2d00c Patrick McHardy               2013-10-11  9637  	if (err < 0)
20a69341f2d00c Patrick McHardy               2013-10-11  9638  		return err;
20a69341f2d00c Patrick McHardy               2013-10-11  9639  
20a69341f2d00c Patrick McHardy               2013-10-11  9640  	if (!tb[NFTA_VERDICT_CODE])
20a69341f2d00c Patrick McHardy               2013-10-11  9641  		return -EINVAL;
1ca2e1702c050a Patrick McHardy               2015-04-11  9642  	data->verdict.code = ntohl(nla_get_be32(tb[NFTA_VERDICT_CODE]));
20a69341f2d00c Patrick McHardy               2013-10-11  9643  
1ca2e1702c050a Patrick McHardy               2015-04-11  9644  	switch (data->verdict.code) {
e0abdadcc6e113 Patrick McHardy               2014-02-18  9645  	default:
1ca2e1702c050a Patrick McHardy               2015-04-11  9646  		switch (data->verdict.code & NF_VERDICT_MASK) {
20a69341f2d00c Patrick McHardy               2013-10-11  9647  		case NF_ACCEPT:
20a69341f2d00c Patrick McHardy               2013-10-11  9648  		case NF_DROP:
20a69341f2d00c Patrick McHardy               2013-10-11  9649  		case NF_QUEUE:
e0abdadcc6e113 Patrick McHardy               2014-02-18  9650  			break;
e0abdadcc6e113 Patrick McHardy               2014-02-18  9651  		default:
e0abdadcc6e113 Patrick McHardy               2014-02-18  9652  			return -EINVAL;
e0abdadcc6e113 Patrick McHardy               2014-02-18  9653  		}
954d82979b2f9d Gustavo A. R. Silva           2020-07-08  9654  		fallthrough;
20a69341f2d00c Patrick McHardy               2013-10-11  9655  	case NFT_CONTINUE:
20a69341f2d00c Patrick McHardy               2013-10-11  9656  	case NFT_BREAK:
20a69341f2d00c Patrick McHardy               2013-10-11  9657  	case NFT_RETURN:
20a69341f2d00c Patrick McHardy               2013-10-11  9658  		break;
20a69341f2d00c Patrick McHardy               2013-10-11  9659  	case NFT_JUMP:
20a69341f2d00c Patrick McHardy               2013-10-11  9660  	case NFT_GOTO:
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9661  		if (tb[NFTA_VERDICT_CHAIN]) {
f102d66b335a41 Florian Westphal              2018-07-11  9662  			chain = nft_chain_lookup(ctx->net, ctx->table,
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9663  						 tb[NFTA_VERDICT_CHAIN],
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9664  						 genmask);
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9665  		} else if (tb[NFTA_VERDICT_CHAIN_ID]) {
95f466d22364a3 Thadeu Lima de Souza Cascardo 2022-08-09  9666  			chain = nft_chain_lookup_byid(ctx->net, ctx->table,
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9667  						      tb[NFTA_VERDICT_CHAIN_ID]);
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9668  			if (IS_ERR(chain))
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30 @9669  				return PTR_ERR(chain);
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9670  		} else {
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9671  			return -EINVAL;
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9672  		}
51d70f181ff4e2 Pablo Neira Ayuso             2020-06-30  9673  
20a69341f2d00c Patrick McHardy               2013-10-11  9674  		if (IS_ERR(chain))
20a69341f2d00c Patrick McHardy               2013-10-11  9675  			return PTR_ERR(chain);
f323d9546927a0 Pablo Neira Ayuso             2017-03-20  9676  		if (nft_is_base_chain(chain))
20a69341f2d00c Patrick McHardy               2013-10-11  9677  			return -EOPNOTSUPP;
96518518cc417b Patrick McHardy               2013-10-14  9678  
96518518cc417b Patrick McHardy               2013-10-14  9679  		chain->use++;
1ca2e1702c050a Patrick McHardy               2015-04-11  9680  		data->verdict.chain = chain;
96518518cc417b Patrick McHardy               2013-10-14  9681  		break;
96518518cc417b Patrick McHardy               2013-10-14  9682  	}
96518518cc417b Patrick McHardy               2013-10-14  9683  
4c4ed0748f82e2 Florian Westphal              2015-04-14  9684  	desc->len = sizeof(data->verdict);
96518518cc417b Patrick McHardy               2013-10-14  9685  	desc->type = NFT_DATA_VERDICT;
96518518cc417b Patrick McHardy               2013-10-14  9686  	return 0;
96518518cc417b Patrick McHardy               2013-10-14  9687  }
96518518cc417b Patrick McHardy               2013-10-14  9688  

:::::: The code at line 9669 was first introduced by commit
:::::: 51d70f181ff4e2c996ddf256af1efecd7d5864e5 netfilter: nf_tables: add NFTA_VERDICT_CHAIN_ID attribute

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

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-08-14 15:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-14 15:28 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-10-28  3:13 net/netfilter/nf_tables_api.c:9669 nft_verdict_init() warn: passing a valid pointer to 'PTR_ERR' kernel test robot
2023-01-20  3:07 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=202208142304.8AJF9bcD-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@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.