Lines Matching refs:psock
29 static bool psock_has_data(struct sk_psock *psock) in psock_has_data() argument
31 return !skb_queue_empty(&psock->ingress_skb) || in psock_has_data()
32 !sk_psock_queue_empty(psock); in psock_has_data()
38 static int udp_msg_wait_data(struct sock *sk, struct sk_psock *psock, in udp_msg_wait_data() argument
52 ret = udp_msg_has_data(sk, psock); in udp_msg_wait_data()
55 ret = udp_msg_has_data(sk, psock); in udp_msg_wait_data()
65 struct sk_psock *psock; in udp_bpf_recvmsg() local
74 psock = sk_psock_get(sk); in udp_bpf_recvmsg()
75 if (unlikely(!psock)) in udp_bpf_recvmsg()
78 if (!psock_has_data(psock)) { in udp_bpf_recvmsg()
84 copied = sk_msg_recvmsg(sk, psock, msg, len, flags); in udp_bpf_recvmsg()
90 data = udp_msg_wait_data(sk, psock, timeo); in udp_bpf_recvmsg()
92 if (psock_has_data(psock)) in udp_bpf_recvmsg()
101 sk_psock_put(sk, psock); in udp_bpf_recvmsg()
141 int udp_bpf_update_proto(struct sock *sk, struct sk_psock *psock, bool restore) in udp_bpf_update_proto() argument
146 sk->sk_write_space = psock->saved_write_space; in udp_bpf_update_proto()
147 sock_replace_proto(sk, psock->sk_proto); in udp_bpf_update_proto()
152 udp_bpf_check_v6_needs_rebuild(psock->sk_proto); in udp_bpf_update_proto()