All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [mac80211-next:genetlink-op-policy-export 14/16] net/netlink/policy.c:137 netlink_policy_dump_add_policy() warn: passing a valid pointer to 'PTR_ERR'
Date: Sun, 04 Oct 2020 03:40:33 +0800	[thread overview]
Message-ID: <202010040331.4vLDupe3-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
CC: linux-wireless(a)vger.kernel.org
TO: Johannes Berg <johannes.berg@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git genetlink-op-policy-export
head:   4d5045adfe90c534dbf93f125c3d532ec47fe7c4
commit: 0c30f845a39a88170eba06b1841f1692a97a4088 [14/16] netlink: rework policy dump to support multiple policies
:::::: branch date: 23 hours ago
:::::: commit date: 23 hours ago
config: i386-randconfig-m021-20201004 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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

smatch warnings:
net/netlink/policy.c:137 netlink_policy_dump_add_policy() warn: passing a valid pointer to 'PTR_ERR'

vim +/PTR_ERR +137 net/netlink/policy.c

0c30f845a39a88 Johannes Berg 2020-10-02  125  
0c30f845a39a88 Johannes Berg 2020-10-02  126  int netlink_policy_dump_add_policy(struct netlink_policy_dump_state **pstate,
0c30f845a39a88 Johannes Berg 2020-10-02  127  				   const struct nla_policy *policy,
0c30f845a39a88 Johannes Berg 2020-10-02  128  				   unsigned int maxtype)
0c30f845a39a88 Johannes Berg 2020-10-02  129  {
0c30f845a39a88 Johannes Berg 2020-10-02  130  	struct netlink_policy_dump_state *state = *pstate;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  131  	unsigned int policy_idx;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  132  	int err;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  133  
0c30f845a39a88 Johannes Berg 2020-10-02  134  	if (!state) {
0c30f845a39a88 Johannes Berg 2020-10-02  135  		state = alloc_state();
0c30f845a39a88 Johannes Berg 2020-10-02  136  		if (IS_ERR(state))
0c30f845a39a88 Johannes Berg 2020-10-02 @137  			return PTR_ERR(state);
0c30f845a39a88 Johannes Berg 2020-10-02  138  	}
d07dcf9aadd6b2 Johannes Berg 2020-04-30  139  
d07dcf9aadd6b2 Johannes Berg 2020-04-30  140  	/*
d07dcf9aadd6b2 Johannes Berg 2020-04-30  141  	 * walk the policies and nested ones first, and build
d07dcf9aadd6b2 Johannes Berg 2020-04-30  142  	 * a linear list of them.
d07dcf9aadd6b2 Johannes Berg 2020-04-30  143  	 */
d07dcf9aadd6b2 Johannes Berg 2020-04-30  144  
d07dcf9aadd6b2 Johannes Berg 2020-04-30  145  	err = add_policy(&state, policy, maxtype);
d07dcf9aadd6b2 Johannes Berg 2020-04-30  146  	if (err)
d07dcf9aadd6b2 Johannes Berg 2020-04-30  147  		return err;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  148  
d07dcf9aadd6b2 Johannes Berg 2020-04-30  149  	for (policy_idx = 0;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  150  	     policy_idx < state->n_alloc && state->policies[policy_idx].policy;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  151  	     policy_idx++) {
d07dcf9aadd6b2 Johannes Berg 2020-04-30  152  		const struct nla_policy *policy;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  153  		unsigned int type;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  154  
d07dcf9aadd6b2 Johannes Berg 2020-04-30  155  		policy = state->policies[policy_idx].policy;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  156  
d07dcf9aadd6b2 Johannes Berg 2020-04-30  157  		for (type = 0;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  158  		     type <= state->policies[policy_idx].maxtype;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  159  		     type++) {
d07dcf9aadd6b2 Johannes Berg 2020-04-30  160  			switch (policy[type].type) {
d07dcf9aadd6b2 Johannes Berg 2020-04-30  161  			case NLA_NESTED:
d07dcf9aadd6b2 Johannes Berg 2020-04-30  162  			case NLA_NESTED_ARRAY:
d07dcf9aadd6b2 Johannes Berg 2020-04-30  163  				err = add_policy(&state,
d07dcf9aadd6b2 Johannes Berg 2020-04-30  164  						 policy[type].nested_policy,
d07dcf9aadd6b2 Johannes Berg 2020-04-30  165  						 policy[type].len);
d07dcf9aadd6b2 Johannes Berg 2020-04-30  166  				if (err)
d07dcf9aadd6b2 Johannes Berg 2020-04-30  167  					return err;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  168  				break;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  169  			default:
d07dcf9aadd6b2 Johannes Berg 2020-04-30  170  				break;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  171  			}
d07dcf9aadd6b2 Johannes Berg 2020-04-30  172  		}
d07dcf9aadd6b2 Johannes Berg 2020-04-30  173  	}
d07dcf9aadd6b2 Johannes Berg 2020-04-30  174  
0c30f845a39a88 Johannes Berg 2020-10-02  175  	*pstate = state;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  176  	return 0;
d07dcf9aadd6b2 Johannes Berg 2020-04-30  177  }
d07dcf9aadd6b2 Johannes Berg 2020-04-30  178  

---
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: 33046 bytes --]

                 reply	other threads:[~2020-10-03 19:40 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202010040331.4vLDupe3-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.