Lines Matching refs:newsk

2242 	struct sock *newsk;  in sk_clone_lock()  local
2244 newsk = sk_prot_alloc(prot, priority, sk->sk_family); in sk_clone_lock()
2245 if (!newsk) in sk_clone_lock()
2248 sock_copy(newsk, sk); in sk_clone_lock()
2250 newsk->sk_prot_creator = prot; in sk_clone_lock()
2253 if (likely(newsk->sk_net_refcnt)) { in sk_clone_lock()
2254 get_net_track(sock_net(newsk), &newsk->ns_tracker, priority); in sk_clone_lock()
2255 sock_inuse_add(sock_net(newsk), 1); in sk_clone_lock()
2262 __netns_tracker_alloc(sock_net(newsk), &newsk->ns_tracker, in sk_clone_lock()
2265 sk_node_init(&newsk->sk_node); in sk_clone_lock()
2266 sock_lock_init(newsk); in sk_clone_lock()
2267 bh_lock_sock(newsk); in sk_clone_lock()
2268 newsk->sk_backlog.head = newsk->sk_backlog.tail = NULL; in sk_clone_lock()
2269 newsk->sk_backlog.len = 0; in sk_clone_lock()
2271 atomic_set(&newsk->sk_rmem_alloc, 0); in sk_clone_lock()
2274 refcount_set(&newsk->sk_wmem_alloc, 1); in sk_clone_lock()
2276 atomic_set(&newsk->sk_omem_alloc, 0); in sk_clone_lock()
2277 sk_init_common(newsk); in sk_clone_lock()
2279 newsk->sk_dst_cache = NULL; in sk_clone_lock()
2280 newsk->sk_dst_pending_confirm = 0; in sk_clone_lock()
2281 newsk->sk_wmem_queued = 0; in sk_clone_lock()
2282 newsk->sk_forward_alloc = 0; in sk_clone_lock()
2283 newsk->sk_reserved_mem = 0; in sk_clone_lock()
2284 atomic_set(&newsk->sk_drops, 0); in sk_clone_lock()
2285 newsk->sk_send_head = NULL; in sk_clone_lock()
2286 newsk->sk_userlocks = sk->sk_userlocks & ~SOCK_BINDPORT_LOCK; in sk_clone_lock()
2287 atomic_set(&newsk->sk_zckey, 0); in sk_clone_lock()
2289 sock_reset_flag(newsk, SOCK_DONE); in sk_clone_lock()
2292 newsk->sk_memcg = NULL; in sk_clone_lock()
2294 cgroup_sk_clone(&newsk->sk_cgrp_data); in sk_clone_lock()
2303 is_charged = sk_filter_charge(newsk, filter); in sk_clone_lock()
2304 RCU_INIT_POINTER(newsk->sk_filter, filter); in sk_clone_lock()
2307 if (unlikely(!is_charged || xfrm_sk_clone_policy(newsk, sk))) { in sk_clone_lock()
2313 RCU_INIT_POINTER(newsk->sk_filter, NULL); in sk_clone_lock()
2314 sk_free_unlock_clone(newsk); in sk_clone_lock()
2315 newsk = NULL; in sk_clone_lock()
2318 RCU_INIT_POINTER(newsk->sk_reuseport_cb, NULL); in sk_clone_lock()
2320 if (bpf_sk_storage_clone(sk, newsk)) { in sk_clone_lock()
2321 sk_free_unlock_clone(newsk); in sk_clone_lock()
2322 newsk = NULL; in sk_clone_lock()
2329 if (sk_user_data_is_nocopy(newsk)) in sk_clone_lock()
2330 newsk->sk_user_data = NULL; in sk_clone_lock()
2332 newsk->sk_err = 0; in sk_clone_lock()
2333 newsk->sk_err_soft = 0; in sk_clone_lock()
2334 newsk->sk_priority = 0; in sk_clone_lock()
2335 newsk->sk_incoming_cpu = raw_smp_processor_id(); in sk_clone_lock()
2341 refcount_set(&newsk->sk_refcnt, 2); in sk_clone_lock()
2343 sk_set_socket(newsk, NULL); in sk_clone_lock()
2344 sk_tx_queue_clear(newsk); in sk_clone_lock()
2345 RCU_INIT_POINTER(newsk->sk_wq, NULL); in sk_clone_lock()
2347 if (newsk->sk_prot->sockets_allocated) in sk_clone_lock()
2348 sk_sockets_allocated_inc(newsk); in sk_clone_lock()
2350 if (sock_needs_netstamp(sk) && newsk->sk_flags & SK_FLAGS_TIMESTAMP) in sk_clone_lock()
2353 return newsk; in sk_clone_lock()