Lines Matching refs:nsk

192 			     const struct sock *nsk,  in reuseport_array_update_check()  argument
203 if (nsk->sk_protocol != IPPROTO_UDP && nsk->sk_protocol != IPPROTO_TCP) in reuseport_array_update_check()
206 if (nsk->sk_family != AF_INET && nsk->sk_family != AF_INET6) in reuseport_array_update_check()
209 if (nsk->sk_type != SOCK_STREAM && nsk->sk_type != SOCK_DGRAM) in reuseport_array_update_check()
220 if (!sock_flag(nsk, SOCK_RCU_FREE) || !sk_hashed(nsk) || !nsk_reuse) in reuseport_array_update_check()
224 if (READ_ONCE(nsk->sk_user_data)) in reuseport_array_update_check()
239 struct sock *free_osk = NULL, *osk, *nsk; in bpf_fd_reuseport_array_update_elem() local
266 nsk = socket->sk; in bpf_fd_reuseport_array_update_elem()
267 if (!nsk) { in bpf_fd_reuseport_array_update_elem()
273 err = reuseport_array_update_check(array, nsk, in bpf_fd_reuseport_array_update_elem()
275 rcu_access_pointer(nsk->sk_reuseport_cb), in bpf_fd_reuseport_array_update_elem()
286 write_lock_bh(&nsk->sk_callback_lock); in bpf_fd_reuseport_array_update_elem()
290 reuse = rcu_dereference_protected(nsk->sk_reuseport_cb, in bpf_fd_reuseport_array_update_elem()
292 err = reuseport_array_update_check(array, nsk, osk, reuse, map_flags); in bpf_fd_reuseport_array_update_elem()
298 WRITE_ONCE(nsk->sk_user_data, (void *)sk_user_data); in bpf_fd_reuseport_array_update_elem()
299 rcu_assign_pointer(array->ptrs[index], nsk); in bpf_fd_reuseport_array_update_elem()
304 write_unlock_bh(&nsk->sk_callback_lock); in bpf_fd_reuseport_array_update_elem()