Lines Matching refs:psock
25 static bool vsock_has_data(struct sock *sk, struct sk_psock *psock)
34 return vsock_sk_has_data(sk, psock);
37 static bool vsock_msg_wait_data(struct sock *sk, struct sk_psock *psock, long timeo)
51 ret = vsock_has_data(sk, psock);
54 ret = vsock_has_data(sk, psock);
79 struct sk_psock *psock;
82 psock = sk_psock_get(sk);
83 if (unlikely(!psock))
87 if (vsock_has_data(sk, psock) && sk_psock_queue_empty(psock)) {
89 sk_psock_put(sk, psock);
93 copied = sk_msg_recvmsg(sk, psock, msg, len, flags);
97 if (!vsock_msg_wait_data(sk, psock, timeo)) {
102 if (sk_psock_queue_empty(psock)) {
104 sk_psock_put(sk, psock);
108 copied = sk_msg_recvmsg(sk, psock, msg, len, flags);
112 sk_psock_put(sk, psock);
149 int vsock_bpf_update_proto(struct sock *sk, struct sk_psock *psock, bool restore)
154 sk->sk_write_space = psock->saved_write_space;
155 sock_replace_proto(sk, psock->sk_proto);
166 vsock_bpf_check_needs_rebuild(psock->sk_proto);