Hi Phil, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on nf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Phil-Sutter/netfilter-nf_tables-Compatibility-interface-for-nft_rule/20221105-062055 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master patch link: https://lore.kernel.org/r/20221104221827.30335-1-phil%40nwl.cc patch subject: [nf-next RFC] netfilter: nf_tables: Compatibility interface for nft_rule config: i386-randconfig-a013 compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) 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 # https://github.com/intel-lab-lkp/linux/commit/9224fbbb5432ef777c5598b3533b7637cf5e8099 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Phil-Sutter/netfilter-nf_tables-Compatibility-interface-for-nft_rule/20221105-062055 git checkout 9224fbbb5432ef777c5598b3533b7637cf5e8099 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash net/netfilter/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> net/netfilter/nf_tables_api.c:3469:17: warning: variable 'err' is uninitialized when used here [-Wuninitialized] return ERR_PTR(err); ^~~ net/netfilter/nf_tables_api.c:3415:9: note: initialize the variable 'err' to silence this warning int err, rem; ^ = 0 1 warning generated. vim +/err +3469 net/netfilter/nf_tables_api.c 3408 3409 static struct nft_compat_expr * 3410 nft_parse_compat_exprs_nla(const struct nlattr *nla) 3411 { 3412 struct nft_compat_expr *compat_exprs, *cur; 3413 int idx = 0, num_exprs = 0; 3414 struct nlattr *tmp; 3415 int err, rem; 3416 3417 nla = nla_find_nested(nla, NFTA_RULE_COMPAT_EXPRESSIONS); 3418 if (!nla) 3419 return NULL; 3420 3421 nla_for_each_nested(tmp, nla, rem) 3422 num_exprs++; 3423 3424 if (!num_exprs) 3425 return NULL; 3426 3427 compat_exprs = kvmalloc_array(num_exprs + 1, 3428 sizeof(*compat_exprs), GFP_KERNEL); 3429 if (!compat_exprs) 3430 return ERR_PTR(-ENOMEM); 3431 3432 cur = compat_exprs; 3433 nla_for_each_nested(tmp, nla, rem) { 3434 struct nlattr *tb[NFTA_RULE_COMPAT_EXPR_MAX + 1]; 3435 int err; 3436 3437 if (idx >= NFT_RULE_MAXEXPRS) 3438 return ERR_PTR(-ENOMEM); 3439 3440 err = nla_parse_nested_deprecated(tb, NFTA_RULE_COMPAT_EXPR_MAX, 3441 tmp, nft_rule_compat_expression_policy, NULL); 3442 if (err < 0) 3443 return ERR_PTR(err); 3444 3445 if (!tb[NFTA_RULE_COMPAT_EXPR_POS] || 3446 !tb[NFTA_RULE_COMPAT_EXPR_LEN] || 3447 !tb[NFTA_RULE_COMPAT_EXPR_INFO]) { 3448 err = -EINVAL; 3449 goto out_free; 3450 } 3451 3452 cur->pos = nla_get_u32(tb[NFTA_RULE_COMPAT_EXPR_POS]); 3453 cur->len = nla_get_u32(tb[NFTA_RULE_COMPAT_EXPR_LEN]); 3454 cur->dlen = nla_len(tb[NFTA_RULE_COMPAT_EXPR_INFO]); 3455 cur->data = kvmalloc(cur->dlen, GFP_KERNEL); 3456 if (!cur->data) { 3457 err = -ENOMEM; 3458 goto out_free; 3459 } 3460 3461 nla_memcpy(cur->data, 3462 tb[NFTA_RULE_COMPAT_EXPR_INFO], cur->dlen); 3463 cur++; 3464 } 3465 cur->len = 0; 3466 return compat_exprs; 3467 out_free: 3468 kfree(compat_exprs); > 3469 return ERR_PTR(err); 3470 } 3471 -- 0-DAY CI Kernel Test Service https://01.org/lkp