diff mbox series

[nf-next,1/8] netfilter: nf_tables: nf_tables_getgen: use call_rcu

Message ID 20180527093153.13114-2-fw@strlen.de
State Accepted
Delegated to: Pablo Neira
Headers show
Series netfilter: nf_tables: make get and dump operations lockless | expand

Commit Message

Florian Westphal May 27, 2018, 9:31 a.m. UTC
This callback just fetches the current base sequence,
there is no need to serialize this with nfnl nft mutex.

Signed-off-by: Florian Westphal <fw@strlen.de>
---
 net/netfilter/nf_tables_api.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Pablo Neira Ayuso May 28, 2018, 10:50 p.m. UTC | #1
On Sun, May 27, 2018 at 11:31:46AM +0200, Florian Westphal wrote:
> This callback just fetches the current base sequence,
> there is no need to serialize this with nfnl nft mutex.

Series applied, thanks!
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pablo Neira Ayuso May 28, 2018, 10:59 p.m. UTC | #2
On Tue, May 29, 2018 at 12:50:55AM +0200, Pablo Neira Ayuso wrote:
> On Sun, May 27, 2018 at 11:31:46AM +0200, Florian Westphal wrote:
> > This callback just fetches the current base sequence,
> > there is no need to serialize this with nfnl nft mutex.
> 
> Series applied, thanks!

For the record: I have collapsed them into one single patch:

        netfilter: nf_tables: use call_rcu in netlink dumps
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 87b2a77add65..c7e74545a1a8 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5654,7 +5654,7 @@  static int nf_tables_getgen(struct net *net, struct sock *nlsk,
 	struct sk_buff *skb2;
 	int err;
 
-	skb2 = alloc_skb(NLMSG_GOODSIZE, GFP_KERNEL);
+	skb2 = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC);
 	if (skb2 == NULL)
 		return -ENOMEM;
 
@@ -5746,7 +5746,7 @@  static const struct nfnl_callback nf_tables_cb[NFT_MSG_MAX] = {
 		.policy		= nft_set_elem_list_policy,
 	},
 	[NFT_MSG_GETGEN] = {
-		.call		= nf_tables_getgen,
+		.call_rcu	= nf_tables_getgen,
 	},
 	[NFT_MSG_NEWOBJ] = {
 		.call_batch	= nf_tables_newobj,