[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231221232327.43678-3-john.fastabend@gmail.com>
Date: Thu, 21 Dec 2023 15:23:24 -0800
From: John Fastabend <john.fastabend@...il.com>
To: jakub@...udflare.com,
rivendell7@...il.com,
kuniyu@...zon.com
Cc: bpf@...r.kernel.org,
netdev@...r.kernel.org
Subject: [PATCH bpf 2/5] bpf: sockmap, added comments describing update proto rules
Add a comment describing that the psock update proto callbback can be
called multiple times and this must be safe.
Signed-off-by: John Fastabend <john.fastabend@...il.com>
---
include/linux/skmsg.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h
index c953b8c0d2f4..888a4b217829 100644
--- a/include/linux/skmsg.h
+++ b/include/linux/skmsg.h
@@ -100,6 +100,11 @@ struct sk_psock {
void (*saved_close)(struct sock *sk, long timeout);
void (*saved_write_space)(struct sock *sk);
void (*saved_data_ready)(struct sock *sk);
+ /* psock_update_sk_prot may be called with restore=false many times
+ * so the handler must be safe for this case. It will be called
+ * exactly once with restore=true when the psock is being destroyed
+ * and psock refcnt is zero, but before an RCU grace period.
+ */
int (*psock_update_sk_prot)(struct sock *sk, struct sk_psock *psock,
bool restore);
struct proto *sk_proto;
--
2.33.0
Powered by blists - more mailing lists