[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180718165406.6f262266@canb.auug.org.au>
Date: Wed, 18 Jul 2018 16:54:06 +1000
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Matthew Wilcox <willy@...radead.org>,
Pablo Neira Ayuso <pablo@...filter.org>,
NetFilter <netfilter-devel@...r.kernel.org>
Cc: Linux-Next Mailing List <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Varsha Rao <rvarsha016@...il.com>
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@...b.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@...b.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
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists