Lines Matching refs:nsk
208 const struct sock *nsk, in reuseport_array_update_check() argument
219 if (nsk->sk_protocol != IPPROTO_UDP && nsk->sk_protocol != IPPROTO_TCP) in reuseport_array_update_check()
222 if (nsk->sk_family != AF_INET && nsk->sk_family != AF_INET6) in reuseport_array_update_check()
225 if (nsk->sk_type != SOCK_STREAM && nsk->sk_type != SOCK_DGRAM) in reuseport_array_update_check()
236 if (!sock_flag(nsk, SOCK_RCU_FREE) || !sk_hashed(nsk) || !nsk_reuse) in reuseport_array_update_check()
240 if (READ_ONCE(nsk->sk_user_data)) in reuseport_array_update_check()
255 struct sock *free_osk = NULL, *osk, *nsk; in bpf_fd_reuseport_array_update_elem() local
281 nsk = socket->sk; in bpf_fd_reuseport_array_update_elem()
282 if (!nsk) { in bpf_fd_reuseport_array_update_elem()
288 err = reuseport_array_update_check(array, nsk, in bpf_fd_reuseport_array_update_elem()
290 rcu_access_pointer(nsk->sk_reuseport_cb), in bpf_fd_reuseport_array_update_elem()
301 write_lock_bh(&nsk->sk_callback_lock); in bpf_fd_reuseport_array_update_elem()
305 reuse = rcu_dereference_protected(nsk->sk_reuseport_cb, in bpf_fd_reuseport_array_update_elem()
307 err = reuseport_array_update_check(array, nsk, osk, reuse, map_flags); in bpf_fd_reuseport_array_update_elem()
316 WRITE_ONCE(nsk->sk_user_data, &array->ptrs[index]); in bpf_fd_reuseport_array_update_elem()
317 rcu_assign_pointer(array->ptrs[index], nsk); in bpf_fd_reuseport_array_update_elem()
322 write_unlock_bh(&nsk->sk_callback_lock); in bpf_fd_reuseport_array_update_elem()