* Re: [PATCH nf-next v4] net: netfilter: nf_tables_api: Use id allocation.
[not found] <20180613164143.19232-1-rvarsha016@gmail.com>
@ 2018-06-18 12:25 ` Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2018-06-18 12:25 UTC (permalink / raw)
To: kbuild, Varsha Rao
Cc: Varsha Rao, netfilter-devel, kbuild-all, Pablo Neira Ayuso
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-06-18 12:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20180613164143.19232-1-rvarsha016@gmail.com>
2018-06-18 12:25 ` [PATCH nf-next v4] net: netfilter: nf_tables_api: Use id allocation Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).