/Linux-v6.6/net/dccp/ |
D | ipv6.c | 425 struct sock *newsk; in dccp_v6_request_recv_sock() local 431 newsk = dccp_v4_request_recv_sock(sk, skb, req, dst, in dccp_v6_request_recv_sock() 433 if (newsk == NULL) in dccp_v6_request_recv_sock() 436 newdp6 = (struct dccp6_sock *)newsk; in dccp_v6_request_recv_sock() 437 newinet = inet_sk(newsk); in dccp_v6_request_recv_sock() 439 newnp = inet6_sk(newsk); in dccp_v6_request_recv_sock() 443 newnp->saddr = newsk->sk_v6_rcv_saddr; in dccp_v6_request_recv_sock() 445 inet_csk(newsk)->icsk_af_ops = &dccp_ipv6_mapped; in dccp_v6_request_recv_sock() 446 newsk->sk_backlog_rcv = dccp_v4_do_rcv; in dccp_v6_request_recv_sock() 465 dccp_sync_mss(newsk, inet_csk(newsk)->icsk_pmtu_cookie); in dccp_v6_request_recv_sock() [all …]
|
D | minisocks.c | 88 struct sock *newsk = inet_csk_clone_lock(sk, req, GFP_ATOMIC); in dccp_create_openreq_child() local 90 if (newsk != NULL) { in dccp_create_openreq_child() 92 struct inet_connection_sock *newicsk = inet_csk(newsk); in dccp_create_openreq_child() 93 struct dccp_sock *newdp = dccp_sk(newsk); in dccp_create_openreq_child() 126 if (dccp_feat_activate_values(newsk, &dreq->dreq_featneg)) { in dccp_create_openreq_child() 127 sk_free_unlock_clone(newsk); in dccp_create_openreq_child() 130 dccp_init_xmit_timers(newsk); in dccp_create_openreq_child() 134 return newsk; in dccp_create_openreq_child()
|
D | ipv4.c | 416 struct sock *newsk; in dccp_v4_request_recv_sock() local 421 newsk = dccp_create_openreq_child(sk, req, skb); in dccp_v4_request_recv_sock() 422 if (newsk == NULL) in dccp_v4_request_recv_sock() 425 newinet = inet_sk(newsk); in dccp_v4_request_recv_sock() 427 sk_daddr_set(newsk, ireq->ir_rmt_addr); in dccp_v4_request_recv_sock() 428 sk_rcv_saddr_set(newsk, ireq->ir_loc_addr); in dccp_v4_request_recv_sock() 435 if (dst == NULL && (dst = inet_csk_route_child_sock(sk, newsk, req)) == NULL) in dccp_v4_request_recv_sock() 438 sk_setup_caps(newsk, dst); in dccp_v4_request_recv_sock() 440 dccp_sync_mss(newsk, dst_mtu(dst)); in dccp_v4_request_recv_sock() 442 if (__inet_inherit_port(sk, newsk) < 0) in dccp_v4_request_recv_sock() [all …]
|
/Linux-v6.6/net/ipv4/ |
D | inet_connection_sock.c | 662 struct sock *newsk; in inet_csk_accept() local 688 newsk = req->sk; in inet_csk_accept() 708 if (newsk && mem_cgroup_sockets_enabled) { in inet_csk_accept() 714 lock_sock(newsk); in inet_csk_accept() 716 mem_cgroup_sk_alloc(newsk); in inet_csk_accept() 717 if (newsk->sk_memcg) { in inet_csk_accept() 721 amt = sk_mem_pages(newsk->sk_forward_alloc + in inet_csk_accept() 722 atomic_read(&newsk->sk_rmem_alloc)); in inet_csk_accept() 726 mem_cgroup_charge_skmem(newsk->sk_memcg, amt, in inet_csk_accept() 729 release_sock(newsk); in inet_csk_accept() [all …]
|
D | tcp_minisocks.c | 490 struct sock *newsk = inet_csk_clone_lock(sk, req, GFP_ATOMIC); in tcp_create_openreq_child() local 498 if (!newsk) in tcp_create_openreq_child() 501 newicsk = inet_csk(newsk); in tcp_create_openreq_child() 502 newtp = tcp_sk(newsk); in tcp_create_openreq_child() 530 newsk->sk_txhash = READ_ONCE(treq->txhash); in tcp_create_openreq_child() 533 tcp_init_xmit_timers(newsk); in tcp_create_openreq_child() 536 if (sock_flag(newsk, SOCK_KEEPOPEN)) in tcp_create_openreq_child() 537 inet_csk_reset_keepalive_timer(newsk, in tcp_create_openreq_child() 581 tcp_bpf_clone(sk, newsk); in tcp_create_openreq_child() 585 return newsk; in tcp_create_openreq_child()
|
D | tcp_ipv4.c | 1566 struct sock *newsk; in tcp_v4_syn_recv_sock() local 1577 newsk = tcp_create_openreq_child(sk, req, skb); in tcp_v4_syn_recv_sock() 1578 if (!newsk) in tcp_v4_syn_recv_sock() 1581 newsk->sk_gso_type = SKB_GSO_TCPV4; in tcp_v4_syn_recv_sock() 1582 inet_sk_rx_dst_set(newsk, skb); in tcp_v4_syn_recv_sock() 1584 newtp = tcp_sk(newsk); in tcp_v4_syn_recv_sock() 1585 newinet = inet_sk(newsk); in tcp_v4_syn_recv_sock() 1587 sk_daddr_set(newsk, ireq->ir_rmt_addr); in tcp_v4_syn_recv_sock() 1588 sk_rcv_saddr_set(newsk, ireq->ir_loc_addr); in tcp_v4_syn_recv_sock() 1589 newsk->sk_bound_dev_if = ireq->ir_iif; in tcp_v4_syn_recv_sock() [all …]
|
/Linux-v6.6/net/ipv6/ |
D | tcp_ipv6.c | 1207 struct sock *newsk; in tcp_v6_syn_recv_sock() local 1219 newsk = tcp_v4_syn_recv_sock(sk, skb, req, dst, in tcp_v6_syn_recv_sock() 1222 if (!newsk) in tcp_v6_syn_recv_sock() 1225 inet_sk(newsk)->pinet6 = tcp_inet6_sk(newsk); in tcp_v6_syn_recv_sock() 1227 newnp = tcp_inet6_sk(newsk); in tcp_v6_syn_recv_sock() 1228 newtp = tcp_sk(newsk); in tcp_v6_syn_recv_sock() 1232 newnp->saddr = newsk->sk_v6_rcv_saddr; in tcp_v6_syn_recv_sock() 1234 inet_csk(newsk)->icsk_af_ops = &ipv6_mapped; in tcp_v6_syn_recv_sock() 1235 if (sk_is_mptcp(newsk)) in tcp_v6_syn_recv_sock() 1236 mptcpv6_handle_mapped(newsk, true); in tcp_v6_syn_recv_sock() [all …]
|
/Linux-v6.6/net/core/ |
D | sock.c | 2292 struct sock *newsk; in sk_clone_lock() local 2294 newsk = sk_prot_alloc(prot, priority, sk->sk_family); in sk_clone_lock() 2295 if (!newsk) in sk_clone_lock() 2298 sock_copy(newsk, sk); in sk_clone_lock() 2300 newsk->sk_prot_creator = prot; in sk_clone_lock() 2303 if (likely(newsk->sk_net_refcnt)) { in sk_clone_lock() 2304 get_net_track(sock_net(newsk), &newsk->ns_tracker, priority); in sk_clone_lock() 2305 sock_inuse_add(sock_net(newsk), 1); in sk_clone_lock() 2312 __netns_tracker_alloc(sock_net(newsk), &newsk->ns_tracker, in sk_clone_lock() 2315 sk_node_init(&newsk->sk_node); in sk_clone_lock() [all …]
|
D | bpf_sk_storage.c | 134 bpf_sk_storage_clone_elem(struct sock *newsk, in bpf_sk_storage_clone_elem() argument 140 copy_selem = bpf_selem_alloc(smap, newsk, NULL, true, GFP_ATOMIC); in bpf_sk_storage_clone_elem() 154 int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk) in bpf_sk_storage_clone() argument 161 RCU_INIT_POINTER(newsk->sk_bpf_storage, NULL); in bpf_sk_storage_clone() 187 copy_selem = bpf_sk_storage_clone_elem(newsk, smap, selem); in bpf_sk_storage_clone() 198 ret = bpf_local_storage_alloc(newsk, smap, copy_selem, GFP_ATOMIC); in bpf_sk_storage_clone() 202 &newsk->sk_omem_alloc); in bpf_sk_storage_clone()
|
/Linux-v6.6/tools/testing/selftests/bpf/progs/ |
D | lsm_cgroup.c | 163 int BPF_PROG(socket_clone, struct sock *newsk, const struct request_sock *req) in BPF_PROG() argument 167 if (!newsk) in BPF_PROG() 171 if (bpf_setsockopt(newsk, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio))) in BPF_PROG() 176 if (bpf_getsockopt(newsk, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio))) in BPF_PROG()
|
D | lsm_cgroup_nonvoid.c | 10 int BPF_PROG(nonvoid_socket_clone, struct sock *newsk, const struct request_sock *req) in BPF_PROG() argument
|
/Linux-v6.6/drivers/net/ethernet/chelsio/inline_crypto/chtls/ |
D | chtls_cm.c | 1072 static void inet_inherit_port(struct sock *lsk, struct sock *newsk) in inet_inherit_port() argument 1075 __inet_inherit_port(lsk, newsk); in inet_inherit_port() 1123 struct sock *newsk; in chtls_recv_sock() local 1130 newsk = tcp_create_openreq_child(lsk, oreq, cdev->askb); in chtls_recv_sock() 1131 if (!newsk) in chtls_recv_sock() 1135 dst = inet_csk_route_child_sock(lsk, newsk, oreq); in chtls_recv_sock() 1183 newsk->sk_user_data = csk; in chtls_recv_sock() 1184 newsk->sk_backlog_rcv = chtls_backlog_rcv; in chtls_recv_sock() 1186 tp = tcp_sk(newsk); in chtls_recv_sock() 1187 newinet = inet_sk(newsk); in chtls_recv_sock() [all …]
|
/Linux-v6.6/net/sctp/ |
D | ipv6.c | 490 static void sctp_v6_copy_ip_options(struct sock *sk, struct sock *newsk) in sctp_v6_copy_ip_options() argument 495 newnp = inet6_sk(newsk); in sctp_v6_copy_ip_options() 500 opt = ipv6_dup_options(newsk, opt); in sctp_v6_copy_ip_options() 776 struct sock *newsk; in sctp_v6_create_accept_sk() local 780 newsk = sk_alloc(sock_net(sk), PF_INET6, GFP_KERNEL, sk->sk_prot, kern); in sctp_v6_create_accept_sk() 781 if (!newsk) in sctp_v6_create_accept_sk() 784 sock_init_data(NULL, newsk); in sctp_v6_create_accept_sk() 786 sctp_copy_sock(newsk, sk, asoc); in sctp_v6_create_accept_sk() 789 newsctp6sk = (struct sctp6_sock *)newsk; in sctp_v6_create_accept_sk() 790 inet_sk(newsk)->pinet6 = &newsctp6sk->inet6; in sctp_v6_create_accept_sk() [all …]
|
D | protocol.c | 176 static void sctp_v4_copy_ip_options(struct sock *sk, struct sock *newsk) in sctp_v4_copy_ip_options() argument 181 newinet = inet_sk(newsk); in sctp_v4_copy_ip_options() 186 newopt = sock_kmalloc(newsk, sizeof(*inet_opt) + in sctp_v4_copy_ip_options() 585 struct sock *newsk = sk_alloc(sock_net(sk), PF_INET, GFP_KERNEL, in sctp_v4_create_accept_sk() local 589 if (!newsk) in sctp_v4_create_accept_sk() 592 sock_init_data(NULL, newsk); in sctp_v4_create_accept_sk() 594 sctp_copy_sock(newsk, sk, asoc); in sctp_v4_create_accept_sk() 595 sock_reset_flag(newsk, SOCK_ZAPPED); in sctp_v4_create_accept_sk() 597 sctp_v4_copy_ip_options(sk, newsk); in sctp_v4_create_accept_sk() 599 newinet = inet_sk(newsk); in sctp_v4_create_accept_sk() [all …]
|
D | socket.c | 91 static int sctp_sock_migrate(struct sock *oldsk, struct sock *newsk, 4846 struct sock *newsk = NULL; in sctp_accept() local 4877 newsk = sp->pf->create_accept_sk(sk, asoc, kern); in sctp_accept() 4878 if (!newsk) { in sctp_accept() 4886 error = sctp_sock_migrate(sk, newsk, asoc, SCTP_SOCKET_TCP); in sctp_accept() 4888 sk_common_release(newsk); in sctp_accept() 4889 newsk = NULL; in sctp_accept() 4895 return newsk; in sctp_accept() 9445 void sctp_copy_sock(struct sock *newsk, struct sock *sk, in sctp_copy_sock() argument 9452 newsk->sk_type = sk->sk_type; in sctp_copy_sock() [all …]
|
/Linux-v6.6/net/phonet/ |
D | pep.c | 766 struct sock *newsk = NULL; in pep_sock_accept() local 829 newsk = pep_find_pipe(&pn->hlist, &dst, pipe_handle); in pep_sock_accept() 830 if (unlikely(newsk)) { in pep_sock_accept() 831 __sock_put(newsk); in pep_sock_accept() 832 newsk = NULL; in pep_sock_accept() 838 newsk = sk_alloc(sock_net(sk), PF_PHONET, GFP_KERNEL, sk->sk_prot, in pep_sock_accept() 840 if (!newsk) { in pep_sock_accept() 846 sock_init_data(NULL, newsk); in pep_sock_accept() 847 newsk->sk_state = TCP_SYN_RECV; in pep_sock_accept() 848 newsk->sk_backlog_rcv = pipe_do_rcv; in pep_sock_accept() [all …]
|
D | socket.c | 298 struct sock *newsk; in pn_socket_accept() local 304 newsk = sk->sk_prot->accept(sk, flags, &err, kern); in pn_socket_accept() 305 if (!newsk) in pn_socket_accept() 308 lock_sock(newsk); in pn_socket_accept() 309 sock_graft(newsk, newsock); in pn_socket_accept() 311 release_sock(newsk); in pn_socket_accept()
|
/Linux-v6.6/net/tipc/ |
D | topsrv.c | 460 struct sock *newsk; in tipc_topsrv_accept() local 482 newsk = newsock->sk; in tipc_topsrv_accept() 483 write_lock_bh(&newsk->sk_callback_lock); in tipc_topsrv_accept() 484 newsk->sk_data_ready = tipc_conn_data_ready; in tipc_topsrv_accept() 485 newsk->sk_write_space = tipc_conn_write_space; in tipc_topsrv_accept() 486 newsk->sk_user_data = con; in tipc_topsrv_accept() 487 write_unlock_bh(&newsk->sk_callback_lock); in tipc_topsrv_accept() 490 newsk->sk_data_ready(newsk); in tipc_topsrv_accept()
|
/Linux-v6.6/include/net/ |
D | bpf_sk_storage.h | 32 int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk); 42 struct sock *newsk) in bpf_sk_storage_clone() argument
|
/Linux-v6.6/security/selinux/include/ |
D | netlabel.h | 46 void selinux_netlbl_sctp_sk_clone(struct sock *sk, struct sock *newsk); 116 struct sock *newsk) in selinux_netlbl_sctp_sk_clone() argument
|
/Linux-v6.6/net/llc/ |
D | llc_conn.c | 764 struct sock *newsk = llc_sk_alloc(sock_net(sk), sk->sk_family, GFP_ATOMIC, in llc_create_incoming_sock() local 768 if (!newsk) in llc_create_incoming_sock() 770 newllc = llc_sk(newsk); in llc_create_incoming_sock() 775 llc_sap_add_socket(llc->sap, newsk); in llc_create_incoming_sock() 778 return newsk; in llc_create_incoming_sock() 805 struct sock *newsk = llc_create_incoming_sock(sk, skb->dev, in llc_conn_handler() local 807 if (!newsk) in llc_conn_handler() 809 skb_set_owner_r(skb, newsk); in llc_conn_handler()
|
D | af_llc.c | 698 struct sock *sk = sock->sk, *newsk; in llc_ui_accept() local 725 newsk = skb->sk; in llc_ui_accept() 727 llc_ui_sk_init(newsock, newsk); in llc_ui_accept() 728 sock_reset_flag(newsk, SOCK_ZAPPED); in llc_ui_accept() 729 newsk->sk_state = TCP_ESTABLISHED; in llc_ui_accept() 732 newllc = llc_sk(newsk); in llc_ui_accept()
|
/Linux-v6.6/net/mptcp/ |
D | protocol.c | 3252 struct sock *newsk; in mptcp_accept() local 3255 newsk = inet_csk_accept(ssk, flags, err, kern); in mptcp_accept() 3256 if (!newsk) in mptcp_accept() 3259 pr_debug("newsk=%p, subflow is mptcp=%d", newsk, sk_is_mptcp(newsk)); in mptcp_accept() 3260 if (sk_is_mptcp(newsk)) { in mptcp_accept() 3264 subflow = mptcp_subflow_ctx(newsk); in mptcp_accept() 3271 tcp_sk(newsk)->is_mptcp = 0; in mptcp_accept() 3275 newsk = new_mptcp_sock; in mptcp_accept() 3283 newsk->sk_kern_sock = kern; in mptcp_accept() 3284 return newsk; in mptcp_accept() [all …]
|
/Linux-v6.6/net/unix/ |
D | af_unix.c | 1481 struct sock *sk = sock->sk, *newsk = NULL, *other = NULL; in unix_stream_connect() local 1508 newsk = unix_create1(net, NULL, 0, sock->type); in unix_stream_connect() 1509 if (IS_ERR(newsk)) { in unix_stream_connect() 1510 err = PTR_ERR(newsk); in unix_stream_connect() 1511 newsk = NULL; in unix_stream_connect() 1518 skb = sock_wmalloc(newsk, 1, 0, GFP_KERNEL); in unix_stream_connect() 1596 err = security_unix_stream_connect(sk, other, newsk); in unix_stream_connect() 1605 unix_peer(newsk) = sk; in unix_stream_connect() 1606 newsk->sk_state = TCP_ESTABLISHED; in unix_stream_connect() 1607 newsk->sk_type = sk->sk_type; in unix_stream_connect() [all …]
|
/Linux-v6.6/include/linux/ |
D | skbuff.h | 2193 static inline void __skb_insert(struct sk_buff *newsk, in __skb_insert() argument 2200 WRITE_ONCE(newsk->next, next); in __skb_insert() 2201 WRITE_ONCE(newsk->prev, prev); in __skb_insert() 2202 WRITE_ONCE(((struct sk_buff_list *)next)->prev, newsk); in __skb_insert() 2203 WRITE_ONCE(((struct sk_buff_list *)prev)->next, newsk); in __skb_insert() 2297 struct sk_buff *newsk) in __skb_queue_after() argument 2299 __skb_insert(newsk, prev, ((struct sk_buff_list *)prev)->next, list); in __skb_queue_after() 2302 void skb_append(struct sk_buff *old, struct sk_buff *newsk, 2307 struct sk_buff *newsk) in __skb_queue_before() argument 2309 __skb_insert(newsk, ((struct sk_buff_list *)next)->prev, next, list); in __skb_queue_before() [all …]
|