Lines Matching refs:nsk

198 			     const struct sock *nsk,  in reuseport_array_update_check()  argument
209 if (nsk->sk_protocol != IPPROTO_UDP && nsk->sk_protocol != IPPROTO_TCP) in reuseport_array_update_check()
212 if (nsk->sk_family != AF_INET && nsk->sk_family != AF_INET6) in reuseport_array_update_check()
215 if (nsk->sk_type != SOCK_STREAM && nsk->sk_type != SOCK_DGRAM) in reuseport_array_update_check()
226 if (!sock_flag(nsk, SOCK_RCU_FREE) || !sk_hashed(nsk) || !nsk_reuse) in reuseport_array_update_check()
230 if (READ_ONCE(nsk->sk_user_data)) in reuseport_array_update_check()
245 struct sock *free_osk = NULL, *osk, *nsk; in bpf_fd_reuseport_array_update_elem() local
272 nsk = socket->sk; in bpf_fd_reuseport_array_update_elem()
273 if (!nsk) { in bpf_fd_reuseport_array_update_elem()
279 err = reuseport_array_update_check(array, nsk, in bpf_fd_reuseport_array_update_elem()
281 rcu_access_pointer(nsk->sk_reuseport_cb), in bpf_fd_reuseport_array_update_elem()
292 write_lock_bh(&nsk->sk_callback_lock); in bpf_fd_reuseport_array_update_elem()
296 reuse = rcu_dereference_protected(nsk->sk_reuseport_cb, in bpf_fd_reuseport_array_update_elem()
298 err = reuseport_array_update_check(array, nsk, osk, reuse, map_flags); in bpf_fd_reuseport_array_update_elem()
304 WRITE_ONCE(nsk->sk_user_data, (void *)sk_user_data); in bpf_fd_reuseport_array_update_elem()
305 rcu_assign_pointer(array->ptrs[index], nsk); in bpf_fd_reuseport_array_update_elem()
310 write_unlock_bh(&nsk->sk_callback_lock); in bpf_fd_reuseport_array_update_elem()