Lines Matching refs:psock
25 static bool vsock_has_data(struct sock *sk, struct sk_psock *psock) in vsock_has_data() argument
34 return vsock_sk_has_data(sk, psock); in vsock_has_data()
37 static bool vsock_msg_wait_data(struct sock *sk, struct sk_psock *psock, long timeo) in vsock_msg_wait_data() argument
51 ret = vsock_has_data(sk, psock); in vsock_msg_wait_data()
54 ret = vsock_has_data(sk, psock); in vsock_msg_wait_data()
79 struct sk_psock *psock; in vsock_bpf_recvmsg() local
83 psock = sk_psock_get(sk); in vsock_bpf_recvmsg()
84 if (unlikely(!psock)) in vsock_bpf_recvmsg()
95 if (vsock_has_data(sk, psock) && sk_psock_queue_empty(psock)) { in vsock_bpf_recvmsg()
97 sk_psock_put(sk, psock); in vsock_bpf_recvmsg()
101 copied = sk_msg_recvmsg(sk, psock, msg, len, flags); in vsock_bpf_recvmsg()
105 if (!vsock_msg_wait_data(sk, psock, timeo)) { in vsock_bpf_recvmsg()
110 if (sk_psock_queue_empty(psock)) { in vsock_bpf_recvmsg()
112 sk_psock_put(sk, psock); in vsock_bpf_recvmsg()
116 copied = sk_msg_recvmsg(sk, psock, msg, len, flags); in vsock_bpf_recvmsg()
121 sk_psock_put(sk, psock); in vsock_bpf_recvmsg()
150 int vsock_bpf_update_proto(struct sock *sk, struct sk_psock *psock, bool restore) in vsock_bpf_update_proto() argument
155 sk->sk_write_space = psock->saved_write_space; in vsock_bpf_update_proto()
156 sock_replace_proto(sk, psock->sk_proto); in vsock_bpf_update_proto()
167 vsock_bpf_check_needs_rebuild(psock->sk_proto); in vsock_bpf_update_proto()