Hi Varsha, Thank you for the patch! Perhaps something to improve: url: https://github.com/0day-ci/linux/commits/Varsha-Rao/net-netfilter-nf_tables_api-Use-id-allocation/20180614-004233 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master New smatch warnings: net/netfilter/nf_tables_api.c:2962 nf_tables_set_alloc_name() error: uninitialized symbol 'id'. Old smatch warnings: net/netfilter/nf_tables_api.c:4314 nft_add_set_elem() error: uninitialized symbol 'ext2'. # https://github.com/0day-ci/linux/commit/c19707b85d3d68e8c0fc2a91b2b401832676f224 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout c19707b85d3d68e8c0fc2a91b2b401832676f224 vim +/id +2962 net/netfilter/nf_tables_api.c c19707b8 Varsha Rao 2018-06-13 2923 20a69341 Patrick McHardy 2013-10-11 2924 static int nf_tables_set_alloc_name(struct nft_ctx *ctx, struct nft_set *set, 20a69341 Patrick McHardy 2013-10-11 2925 const char *name) 20a69341 Patrick McHardy 2013-10-11 2926 { 20a69341 Patrick McHardy 2013-10-11 2927 const struct nft_set *i; 20a69341 Patrick McHardy 2013-10-11 2928 const char *p; c19707b8 Varsha Rao 2018-06-13 2929 int n = 0, id; c19707b8 Varsha Rao 2018-06-13 2930 DEFINE_IDA(inuse); 20a69341 Patrick McHardy 2013-10-11 2931 38745490 Phil Sutter 2017-07-27 2932 p = strchr(name, '%'); 20a69341 Patrick McHardy 2013-10-11 2933 if (p != NULL) { 20a69341 Patrick McHardy 2013-10-11 2934 if (p[1] != 'd' || strchr(p + 2, '%')) 96518518 Patrick McHardy 2013-10-14 2935 return -EINVAL; 20a69341 Patrick McHardy 2013-10-11 2936 20a69341 Patrick McHardy 2013-10-11 2937 list_for_each_entry(i, &ctx->table->sets, list) { 14662917 Daniel Borkmann 2013-12-31 2938 int tmp; 14662917 Daniel Borkmann 2013-12-31 2939 37a9cc52 Pablo Neira Ayuso 2016-06-12 2940 if (!nft_is_active_next(ctx->net, set)) 37a9cc52 Pablo Neira Ayuso 2016-06-12 2941 continue; 14662917 Daniel Borkmann 2013-12-31 2942 if (!sscanf(i->name, name, &tmp)) 20a69341 Patrick McHardy 2013-10-11 2943 continue; c19707b8 Varsha Rao 2018-06-13 2944 if (tmp < 0 || tmp >= NFT_SET_IDA_SIZE) 20a69341 Patrick McHardy 2013-10-11 2945 continue; 14662917 Daniel Borkmann 2013-12-31 2946 c19707b8 Varsha Rao 2018-06-13 2947 n = ida_get_new_above(&inuse, tmp, &id); c19707b8 Varsha Rao 2018-06-13 2948 if ((n < 0) && (n != -EAGAIN)) c19707b8 Varsha Rao 2018-06-13 2949 return n; 20a69341 Patrick McHardy 2013-10-11 2950 } c19707b8 Varsha Rao 2018-06-13 2951 n = ida_get_new_above(&inuse, 0, &id); Smatch is complaining that if n == -EAGAIN then id isn't initialized which seems legit. 20a69341 Patrick McHardy 2013-10-11 2952 c19707b8 Varsha Rao 2018-06-13 2953 if ((n < 0) && (n != -EAGAIN)) { c19707b8 Varsha Rao 2018-06-13 2954 if (n == -ENOSPC) c19707b8 Varsha Rao 2018-06-13 2955 ida_destroy(&inuse); c19707b8 Varsha Rao 2018-06-13 2956 return n; 60eb1894 Patrick McHardy 2014-03-07 2957 } c19707b8 Varsha Rao 2018-06-13 2958 c19707b8 Varsha Rao 2018-06-13 2959 ida_destroy(&inuse); 20a69341 Patrick McHardy 2013-10-11 2960 } 20a69341 Patrick McHardy 2013-10-11 2961 c19707b8 Varsha Rao 2018-06-13 @2962 set->name = kasprintf(GFP_KERNEL, name, id); 38745490 Phil Sutter 2017-07-27 2963 if (!set->name) 38745490 Phil Sutter 2017-07-27 2964 return -ENOMEM; 38745490 Phil Sutter 2017-07-27 2965 20a69341 Patrick McHardy 2013-10-11 2966 list_for_each_entry(i, &ctx->table->sets, list) { 37a9cc52 Pablo Neira Ayuso 2016-06-12 2967 if (!nft_is_active_next(ctx->net, i)) 37a9cc52 Pablo Neira Ayuso 2016-06-12 2968 continue; e63aaaa6 Arvind Yadav 2017-09-20 2969 if (!strcmp(set->name, i->name)) { e63aaaa6 Arvind Yadav 2017-09-20 2970 kfree(set->name); 20a69341 Patrick McHardy 2013-10-11 2971 return -ENFILE; 20a69341 Patrick McHardy 2013-10-11 2972 } e63aaaa6 Arvind Yadav 2017-09-20 2973 } 96518518 Patrick McHardy 2013-10-14 2974 return 0; 96518518 Patrick McHardy 2013-10-14 2975 } 20a69341 Patrick McHardy 2013-10-11 2976 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html