Messages in this thread Patch in this message | | | Date | Wed, 18 Jul 2018 16:54:06 +1000 | From | Stephen Rothwell <> | Subject | linux-next: build failure after merge of the ida tree |
| |
Hi Matthew,
After merging the ida tree, today's linux-next build (x86_64 allmodconfig) failed like this:
net/netfilter/nf_tables_api.c: In function 'nf_tables_set_alloc_name': net/netfilter/nf_tables_api.c:3014:8: error: implicit declaration of function 'ida_get_new_above'; did you mean 'idr_get_next_ul'? [-Werror=implicit-function-declaration] n = ida_get_new_above(&inuse, tmp, &id); ^~~~~~~~~~~~~~~~~ idr_get_next_ul
Caused by commit
3f2668c1e101 ("ida: Remove old API")
interacting with commit
9679150a0bd5 ("netfilter: nf_tables: Use id allocation")
from the netfilter-next tree.
I took a guess and applied the following merge fix patch.
From: Stephen Rothwell <sfr@canb.auug.org.au> Date: Wed, 18 Jul 2018 16:42:26 +1000 Subject: [PATCH] ida: merge fix for ida_get_new_above() removal
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> --- net/netfilter/nf_tables_api.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index b7b5fbcda8dd..151b89174979 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -2995,7 +2995,7 @@ static int nf_tables_set_alloc_name(struct nft_ctx *ctx, struct nft_set *set, { const struct nft_set *i; const char *p; - unsigned int n = 0, id = 0; + int id = 0; DEFINE_IDA(inuse); p = strchr(name, '%'); @@ -3011,22 +3011,22 @@ static int nf_tables_set_alloc_name(struct nft_ctx *ctx, struct nft_set *set, if (!sscanf(i->name, name, &tmp)) continue; - n = ida_get_new_above(&inuse, tmp, &id); - if (n < 0) { - if (n == -EAGAIN) + id = ida_alloc_min(&inuse, tmp, GFP_KERNEL); + if (id < 0) { + if (id == -EAGAIN) return -ENOMEM; - return n; + return id; } } - n = ida_get_new_above(&inuse, 0, &id); + id = ida_alloc(&inuse, GFP_KERNEL); ida_destroy(&inuse); - if (n < 0) { - if (n == -EAGAIN) + if (id < 0) { + if (id == -EAGAIN) return -ENOMEM; - return n; + return id; } } -- Cheers, Stephen Rothwell [unhandled content-type:application/pgp-signature] | |