public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] tcp: use 2-arg optimal variant of kfree_rcu()
@ 2022-12-02  5:28 Eric Dumazet
  2022-12-02  7:44 ` Pavan Chebbi
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Eric Dumazet @ 2022-12-02  5:28 UTC (permalink / raw)
  To: David S . Miller, Jakub Kicinski, Paolo Abeni
  Cc: netdev, eric.dumazet, Eric Dumazet, Dmitry Safonov,
	Paul E . McKenney

kfree_rcu(1-arg) should be avoided as much as possible,
since this is only possible from sleepable contexts,
and incurr extra rcu barriers.

I wish the 1-arg variant of kfree_rcu() would
get a distinct name, like kfree_rcu_slow()
to avoid it being abused.

Fixes: 459837b522f7 ("net/tcp: Disable TCP-MD5 static key on tcp_md5sig_info destruction")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Dmitry Safonov <dima@arista.com>
Cc: Paul E. McKenney <paulmck@kernel.org>
---
 net/ipv4/tcp_ipv4.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 7fae586405cfb10011a0674289280bf400dfa8d8..8320d0ecb13ae1e3e259f3c13a4c2797fbd984a5 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1245,7 +1245,7 @@ int tcp_md5_do_add(struct sock *sk, const union tcp_md5_addr *addr,
 
 			md5sig = rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk));
 			rcu_assign_pointer(tp->md5sig_info, NULL);
-			kfree_rcu(md5sig);
+			kfree_rcu(md5sig, rcu);
 			return -EUSERS;
 		}
 	}
@@ -1271,7 +1271,7 @@ int tcp_md5_key_copy(struct sock *sk, const union tcp_md5_addr *addr,
 			md5sig = rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk));
 			net_warn_ratelimited("Too many TCP-MD5 keys in the system\n");
 			rcu_assign_pointer(tp->md5sig_info, NULL);
-			kfree_rcu(md5sig);
+			kfree_rcu(md5sig, rcu);
 			return -EUSERS;
 		}
 	}
-- 
2.39.0.rc0.267.gcb52ba06e7-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-12-05 17:10 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-02  5:28 [PATCH net-next] tcp: use 2-arg optimal variant of kfree_rcu() Eric Dumazet
2022-12-02  7:44 ` Pavan Chebbi
2022-12-02 16:05 ` Dmitry Safonov
2022-12-02 18:34 ` Paul E. McKenney
2022-12-02 23:49 ` Joel Fernandes
2022-12-03  0:03   ` Paul E. McKenney
2022-12-03  0:12     ` Joel Fernandes
2022-12-03  0:16       ` Joel Fernandes
2022-12-03  0:28         ` Joel Fernandes
2022-12-05 11:09           ` Uladzislau Rezki
2022-12-05 13:23             ` Eric Dumazet
2022-12-05 14:59               ` Uladzislau Rezki
2022-12-05 16:58                 ` Eric Dumazet
2022-12-05 17:10                   ` Uladzislau Rezki
2022-12-03  5:50 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox