diff options
| author | Marc Zyngier <maz@kernel.org> | 2020-11-12 21:20:43 +0000 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2020-11-12 21:20:43 +0000 |
| commit | 4f6b838c378a52ea3ae0b15f12ca8a20849072fa (patch) | |
| tree | fbd8c2346320f97eda221b9150d787f9006e8b35 /include/linux/skmsg.h | |
| parent | c512298eed0360923d0cbc4a1f30bc0509af0d50 (diff) | |
| parent | 3650b228f83adda7e5ee532e2b90429c03f7b9ec (diff) | |
Merge tag 'v5.10-rc1' into kvmarm-master/next
Linux 5.10-rc1
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'include/linux/skmsg.h')
| -rw-r--r-- | include/linux/skmsg.h | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h index 1e9ed840b9fc..fec0c5ac1c4f 100644 --- a/include/linux/skmsg.h +++ b/include/linux/skmsg.h @@ -308,6 +308,8 @@ struct sk_psock *sk_psock_init(struct sock *sk, int node); int sk_psock_init_strp(struct sock *sk, struct sk_psock *psock); void sk_psock_start_strp(struct sock *sk, struct sk_psock *psock); void sk_psock_stop_strp(struct sock *sk, struct sk_psock *psock); +void sk_psock_start_verdict(struct sock *sk, struct sk_psock *psock); +void sk_psock_stop_verdict(struct sock *sk, struct sk_psock *psock); int sk_psock_msg_verdict(struct sock *sk, struct sk_psock *psock, struct sk_msg *msg); @@ -340,23 +342,6 @@ static inline void sk_psock_update_proto(struct sock *sk, struct sk_psock *psock, struct proto *ops) { - /* Initialize saved callbacks and original proto only once, since this - * function may be called multiple times for a psock, e.g. when - * psock->progs.msg_parser is updated. - * - * Since we've not installed the new proto, psock is not yet in use and - * we can initialize it without synchronization. - */ - if (!psock->sk_proto) { - struct proto *orig = READ_ONCE(sk->sk_prot); - - psock->saved_unhash = orig->unhash; - psock->saved_close = orig->close; - psock->saved_write_space = sk->sk_write_space; - - psock->sk_proto = orig; - } - /* Pairs with lockless read in sk_clone_lock() */ WRITE_ONCE(sk->sk_prot, ops); } |
