Hi Pablo, https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Pablo-Neira-Ayuso/netfilter-nf_tables-release-element-key-when-parser-fails/20220708-180911 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git master config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220710/202207100802.TRaePFrj-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> smatch warnings: net/netfilter/nf_tables_api.c:6254 nft_del_setelem() warn: passing zero to 'PTR_ERR' vim +/PTR_ERR +6254 net/netfilter/nf_tables_api.c 60319eb1ca351a Pablo Neira Ayuso 2014-04-04 6203 static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set, 20a69341f2d00c Patrick McHardy 2013-10-11 6204 const struct nlattr *attr) 20a69341f2d00c Patrick McHardy 2013-10-11 6205 { 20a69341f2d00c Patrick McHardy 2013-10-11 6206 struct nlattr *nla[NFTA_SET_ELEM_MAX + 1]; 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6207 struct nft_set_ext_tmpl tmpl; 20a69341f2d00c Patrick McHardy 2013-10-11 6208 struct nft_set_elem elem; 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6209 struct nft_set_ext *ext; 60319eb1ca351a Pablo Neira Ayuso 2014-04-04 6210 struct nft_trans *trans; 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6211 u32 flags = 0; 20a69341f2d00c Patrick McHardy 2013-10-11 6212 int err; 20a69341f2d00c Patrick McHardy 2013-10-11 6213 8cb081746c031f Johannes Berg 2019-04-26 6214 err = nla_parse_nested_deprecated(nla, NFTA_SET_ELEM_MAX, attr, fceb6435e85298 Johannes Berg 2017-04-12 6215 nft_set_elem_policy, NULL); 20a69341f2d00c Patrick McHardy 2013-10-11 6216 if (err < 0) 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6217 return err; 20a69341f2d00c Patrick McHardy 2013-10-11 6218 aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6219 err = nft_setelem_parse_flags(set, nla[NFTA_SET_ELEM_FLAGS], &flags); aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6220 if (err < 0) aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6221 return err; aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6222 aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6223 if (!nla[NFTA_SET_ELEM_KEY] && !(flags & NFT_SET_ELEM_CATCHALL)) 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6224 return -EINVAL; 20a69341f2d00c Patrick McHardy 2013-10-11 6225 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6226 nft_set_ext_prepare(&tmpl); 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6227 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6228 if (flags != 0) 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6229 nft_set_ext_add(&tmpl, NFT_SET_EXT_FLAGS); 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6230 aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6231 if (nla[NFTA_SET_ELEM_KEY]) { 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6232 err = nft_setelem_parse_key(ctx, set, &elem.key.val, d0a11fc3dc4ab4 Patrick McHardy 2015-04-11 6233 nla[NFTA_SET_ELEM_KEY]); 20a69341f2d00c Patrick McHardy 2013-10-11 6234 if (err < 0) 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6235 return err; 20a69341f2d00c Patrick McHardy 2013-10-11 6236 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6237 nft_set_ext_add_length(&tmpl, NFT_SET_EXT_KEY, set->klen); aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6238 } 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6239 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6240 if (nla[NFTA_SET_ELEM_KEY_END]) { 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6241 err = nft_setelem_parse_key(ctx, set, &elem.key_end.val, 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6242 nla[NFTA_SET_ELEM_KEY_END]); 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6243 if (err < 0) 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6244 goto fail_elem; 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6245 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6246 nft_set_ext_add_length(&tmpl, NFT_SET_EXT_KEY_END, set->klen); 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6247 } 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6248 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6249 err = -ENOMEM; 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6250 elem.priv = nft_set_elem_init(set, &tmpl, elem.key.val.data, 7b225d0b5c6dda Pablo Neira Ayuso 2020-01-22 6251 elem.key_end.val.data, NULL, 0, 0, 33758c891479ea Vasily Averin 2022-03-24 6252 GFP_KERNEL_ACCOUNT); 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6253 if (elem.priv == NULL) { 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 @6254 err = PTR_ERR(elem.priv); err = -ENOMEM;? 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6255 goto fail_elem_key_end; 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6256 } 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6257 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6258 ext = nft_set_elem_ext(set, elem.priv); 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6259 if (flags) 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6260 *nft_set_ext_flags(ext) = flags; 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6261 60319eb1ca351a Pablo Neira Ayuso 2014-04-04 6262 trans = nft_trans_elem_alloc(ctx, NFT_MSG_DELSETELEM, set); 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6263 if (trans == NULL) 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6264 goto fail_trans; 20a69341f2d00c Patrick McHardy 2013-10-11 6265 aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6266 err = nft_setelem_deactivate(ctx->net, set, &elem, flags); aaa31047a6d25d Pablo Neira Ayuso 2021-04-27 6267 if (err < 0) 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6268 goto fail_ops; cc02e457bb86f7 Patrick McHardy 2015-03-25 6269 f8bb7889af58d8 Pablo Neira Ayuso 2021-04-27 6270 nft_setelem_data_deactivate(ctx->net, set, &elem); 591054469b3eef Pablo Neira Ayuso 2017-05-15 6271 60319eb1ca351a Pablo Neira Ayuso 2014-04-04 6272 nft_trans_elem(trans) = elem; 0854db2aaef3fc Florian Westphal 2021-04-01 6273 nft_trans_commit_list_add_tail(ctx->net, trans); 0dc1362562a2e8 Thomas Graf 2014-08-01 6274 return 0; cc02e457bb86f7 Patrick McHardy 2015-03-25 6275 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6276 fail_ops: cc02e457bb86f7 Patrick McHardy 2015-03-25 6277 kfree(trans); 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6278 fail_trans: 3971ca14350062 Pablo Neira Ayuso 2016-04-12 6279 kfree(elem.priv); 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6280 fail_elem_key_end: 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6281 nft_data_release(&elem.key_end.val, NFT_DATA_VALUE); 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6282 fail_elem: 20a1452c35425b Pablo Neira Ayuso 2020-01-22 6283 nft_data_release(&elem.key.val, NFT_DATA_VALUE); 0973c5bfbf138f Pablo Neira Ayuso 2022-07-08 6284 20a69341f2d00c Patrick McHardy 2013-10-11 6285 return err; 20a69341f2d00c Patrick McHardy 2013-10-11 6286 } -- 0-DAY CI Kernel Test Service https://01.org/lkp