/linux-6.1.9/net/dccp/ |
D | ipv6.c | 424 struct sock *newsk; in dccp_v6_request_recv_sock() local 430 newsk = dccp_v4_request_recv_sock(sk, skb, req, dst, in dccp_v6_request_recv_sock() 432 if (newsk == NULL) in dccp_v6_request_recv_sock() 435 newdp6 = (struct dccp6_sock *)newsk; in dccp_v6_request_recv_sock() 436 newinet = inet_sk(newsk); in dccp_v6_request_recv_sock() 438 newnp = inet6_sk(newsk); in dccp_v6_request_recv_sock() 442 newnp->saddr = newsk->sk_v6_rcv_saddr; in dccp_v6_request_recv_sock() 444 inet_csk(newsk)->icsk_af_ops = &dccp_ipv6_mapped; in dccp_v6_request_recv_sock() 445 newsk->sk_backlog_rcv = dccp_v4_do_rcv; in dccp_v6_request_recv_sock() 464 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-6.1.9/net/ipv4/ |
D | inet_connection_sock.c | 641 struct sock *newsk; in inet_csk_accept() local 667 newsk = req->sk; in inet_csk_accept() 687 if (newsk && mem_cgroup_sockets_enabled) { in inet_csk_accept() 693 lock_sock(newsk); in inet_csk_accept() 698 amt = sk_mem_pages(newsk->sk_forward_alloc + in inet_csk_accept() 699 atomic_read(&newsk->sk_rmem_alloc)); in inet_csk_accept() 700 mem_cgroup_sk_alloc(newsk); in inet_csk_accept() 701 if (newsk->sk_memcg && amt) in inet_csk_accept() 702 mem_cgroup_charge_skmem(newsk->sk_memcg, amt, in inet_csk_accept() 705 release_sock(newsk); in inet_csk_accept() [all …]
|
D | tcp_minisocks.c | 474 struct sock *newsk = inet_csk_clone_lock(sk, req, GFP_ATOMIC); in tcp_create_openreq_child() local 481 if (!newsk) in tcp_create_openreq_child() 484 newicsk = inet_csk(newsk); in tcp_create_openreq_child() 485 newtp = tcp_sk(newsk); in tcp_create_openreq_child() 513 newsk->sk_txhash = treq->txhash; in tcp_create_openreq_child() 516 tcp_init_xmit_timers(newsk); in tcp_create_openreq_child() 519 if (sock_flag(newsk, SOCK_KEEPOPEN)) in tcp_create_openreq_child() 520 inet_csk_reset_keepalive_timer(newsk, in tcp_create_openreq_child() 566 tcp_bpf_clone(sk, newsk); in tcp_create_openreq_child() 570 return newsk; in tcp_create_openreq_child()
|
D | tcp_ipv4.c | 1502 struct sock *newsk; in tcp_v4_syn_recv_sock() local 1513 newsk = tcp_create_openreq_child(sk, req, skb); in tcp_v4_syn_recv_sock() 1514 if (!newsk) in tcp_v4_syn_recv_sock() 1517 newsk->sk_gso_type = SKB_GSO_TCPV4; in tcp_v4_syn_recv_sock() 1518 inet_sk_rx_dst_set(newsk, skb); in tcp_v4_syn_recv_sock() 1520 newtp = tcp_sk(newsk); in tcp_v4_syn_recv_sock() 1521 newinet = inet_sk(newsk); in tcp_v4_syn_recv_sock() 1523 sk_daddr_set(newsk, ireq->ir_rmt_addr); in tcp_v4_syn_recv_sock() 1524 sk_rcv_saddr_set(newsk, ireq->ir_loc_addr); in tcp_v4_syn_recv_sock() 1525 newsk->sk_bound_dev_if = ireq->ir_iif; in tcp_v4_syn_recv_sock() [all …]
|
/linux-6.1.9/net/ipv6/ |
D | tcp_ipv6.c | 1209 struct sock *newsk; in tcp_v6_syn_recv_sock() local 1221 newsk = tcp_v4_syn_recv_sock(sk, skb, req, dst, in tcp_v6_syn_recv_sock() 1224 if (!newsk) in tcp_v6_syn_recv_sock() 1227 inet_sk(newsk)->pinet6 = tcp_inet6_sk(newsk); in tcp_v6_syn_recv_sock() 1229 newnp = tcp_inet6_sk(newsk); in tcp_v6_syn_recv_sock() 1230 newtp = tcp_sk(newsk); in tcp_v6_syn_recv_sock() 1234 newnp->saddr = newsk->sk_v6_rcv_saddr; in tcp_v6_syn_recv_sock() 1236 inet_csk(newsk)->icsk_af_ops = &ipv6_mapped; in tcp_v6_syn_recv_sock() 1237 if (sk_is_mptcp(newsk)) in tcp_v6_syn_recv_sock() 1238 mptcpv6_handle_mapped(newsk, true); in tcp_v6_syn_recv_sock() [all …]
|
/linux-6.1.9/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-6.1.9/net/core/ |
D | sock.c | 2226 struct sock *newsk; in sk_clone_lock() local 2228 newsk = sk_prot_alloc(prot, priority, sk->sk_family); in sk_clone_lock() 2229 if (!newsk) in sk_clone_lock() 2232 sock_copy(newsk, sk); in sk_clone_lock() 2234 newsk->sk_prot_creator = prot; in sk_clone_lock() 2237 if (likely(newsk->sk_net_refcnt)) { in sk_clone_lock() 2238 get_net_track(sock_net(newsk), &newsk->ns_tracker, priority); in sk_clone_lock() 2239 sock_inuse_add(sock_net(newsk), 1); in sk_clone_lock() 2241 sk_node_init(&newsk->sk_node); in sk_clone_lock() 2242 sock_lock_init(newsk); in sk_clone_lock() [all …]
|
D | bpf_sk_storage.c | 169 bpf_sk_storage_clone_elem(struct sock *newsk, in bpf_sk_storage_clone_elem() argument 175 copy_selem = bpf_selem_alloc(smap, newsk, NULL, true, GFP_ATOMIC); in bpf_sk_storage_clone_elem() 189 int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk) in bpf_sk_storage_clone() argument 196 RCU_INIT_POINTER(newsk->sk_bpf_storage, NULL); in bpf_sk_storage_clone() 222 copy_selem = bpf_sk_storage_clone_elem(newsk, smap, selem); in bpf_sk_storage_clone() 233 ret = bpf_local_storage_alloc(newsk, smap, copy_selem, GFP_ATOMIC); in bpf_sk_storage_clone() 237 &newsk->sk_omem_alloc); in bpf_sk_storage_clone()
|
/linux-6.1.9/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-6.1.9/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() 768 struct sock *newsk; in sctp_v6_create_accept_sk() local 772 newsk = sk_alloc(sock_net(sk), PF_INET6, GFP_KERNEL, sk->sk_prot, kern); in sctp_v6_create_accept_sk() 773 if (!newsk) in sctp_v6_create_accept_sk() 776 sock_init_data(NULL, newsk); in sctp_v6_create_accept_sk() 778 sctp_copy_sock(newsk, sk, asoc); in sctp_v6_create_accept_sk() 781 newsctp6sk = (struct sctp6_sock *)newsk; in sctp_v6_create_accept_sk() 782 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() 578 struct sock *newsk = sk_alloc(sock_net(sk), PF_INET, GFP_KERNEL, in sctp_v4_create_accept_sk() local 582 if (!newsk) in sctp_v4_create_accept_sk() 585 sock_init_data(NULL, newsk); in sctp_v4_create_accept_sk() 587 sctp_copy_sock(newsk, sk, asoc); in sctp_v4_create_accept_sk() 588 sock_reset_flag(newsk, SOCK_ZAPPED); in sctp_v4_create_accept_sk() 590 sctp_v4_copy_ip_options(sk, newsk); in sctp_v4_create_accept_sk() 592 newinet = inet_sk(newsk); in sctp_v4_create_accept_sk() [all …]
|
D | socket.c | 90 static int sctp_sock_migrate(struct sock *oldsk, struct sock *newsk, 4840 struct sock *newsk = NULL; in sctp_accept() local 4871 newsk = sp->pf->create_accept_sk(sk, asoc, kern); in sctp_accept() 4872 if (!newsk) { in sctp_accept() 4880 error = sctp_sock_migrate(sk, newsk, asoc, SCTP_SOCKET_TCP); in sctp_accept() 4882 sk_common_release(newsk); in sctp_accept() 4883 newsk = NULL; in sctp_accept() 4889 return newsk; in sctp_accept() 9413 void sctp_copy_sock(struct sock *newsk, struct sock *sk, in sctp_copy_sock() argument 9420 newsk->sk_type = sk->sk_type; in sctp_copy_sock() [all …]
|
/linux-6.1.9/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-6.1.9/net/tipc/ |
D | topsrv.c | 457 struct sock *newsk; in tipc_topsrv_accept() local 479 newsk = newsock->sk; in tipc_topsrv_accept() 480 write_lock_bh(&newsk->sk_callback_lock); in tipc_topsrv_accept() 481 newsk->sk_data_ready = tipc_conn_data_ready; in tipc_topsrv_accept() 482 newsk->sk_write_space = tipc_conn_write_space; in tipc_topsrv_accept() 483 newsk->sk_user_data = con; in tipc_topsrv_accept() 484 write_unlock_bh(&newsk->sk_callback_lock); in tipc_topsrv_accept() 487 newsk->sk_data_ready(newsk); in tipc_topsrv_accept()
|
/linux-6.1.9/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-6.1.9/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-6.1.9/net/llc/ |
D | llc_conn.c | 752 struct sock *newsk = llc_sk_alloc(sock_net(sk), sk->sk_family, GFP_ATOMIC, in llc_create_incoming_sock() local 756 if (!newsk) in llc_create_incoming_sock() 758 newllc = llc_sk(newsk); in llc_create_incoming_sock() 763 llc_sap_add_socket(llc->sap, newsk); in llc_create_incoming_sock() 766 return newsk; in llc_create_incoming_sock() 793 struct sock *newsk = llc_create_incoming_sock(sk, skb->dev, in llc_conn_handler() local 795 if (!newsk) in llc_conn_handler() 797 skb_set_owner_r(skb, newsk); in llc_conn_handler()
|
D | af_llc.c | 696 struct sock *sk = sock->sk, *newsk; in llc_ui_accept() local 723 newsk = skb->sk; in llc_ui_accept() 725 llc_ui_sk_init(newsock, newsk); in llc_ui_accept() 726 sock_reset_flag(newsk, SOCK_ZAPPED); in llc_ui_accept() 727 newsk->sk_state = TCP_ESTABLISHED; in llc_ui_accept() 730 newllc = llc_sk(newsk); in llc_ui_accept()
|
/linux-6.1.9/net/unix/ |
D | af_unix.c | 1459 struct sock *sk = sock->sk, *newsk = NULL, *other = NULL; in unix_stream_connect() local 1485 newsk = unix_create1(net, NULL, 0, sock->type); in unix_stream_connect() 1486 if (IS_ERR(newsk)) { in unix_stream_connect() 1487 err = PTR_ERR(newsk); in unix_stream_connect() 1488 newsk = NULL; in unix_stream_connect() 1495 skb = sock_wmalloc(newsk, 1, 0, GFP_KERNEL); in unix_stream_connect() 1573 err = security_unix_stream_connect(sk, other, newsk); in unix_stream_connect() 1582 unix_peer(newsk) = sk; in unix_stream_connect() 1583 newsk->sk_state = TCP_ESTABLISHED; in unix_stream_connect() 1584 newsk->sk_type = sk->sk_type; in unix_stream_connect() [all …]
|
/linux-6.1.9/include/linux/ |
D | security.h | 1395 int security_unix_stream_connect(struct sock *sock, struct sock *other, struct sock *newsk); 1419 void security_sk_clone(const struct sock *sk, struct sock *newsk); 1426 void security_inet_csk_clone(struct sock *newsk, 1443 struct sock *newsk); 1450 struct sock *newsk) in security_unix_stream_connect() argument 1571 static inline void security_sk_clone(const struct sock *sk, struct sock *newsk) in security_sk_clone() argument 1595 static inline void security_inet_csk_clone(struct sock *newsk, in security_inet_csk_clone() argument 1662 struct sock *newsk) in security_sctp_sk_clone() argument
|
D | skbuff.h | 2157 static inline void __skb_insert(struct sk_buff *newsk, in __skb_insert() argument 2164 WRITE_ONCE(newsk->next, next); in __skb_insert() 2165 WRITE_ONCE(newsk->prev, prev); in __skb_insert() 2166 WRITE_ONCE(((struct sk_buff_list *)next)->prev, newsk); in __skb_insert() 2167 WRITE_ONCE(((struct sk_buff_list *)prev)->next, newsk); in __skb_insert() 2261 struct sk_buff *newsk) in __skb_queue_after() argument 2263 __skb_insert(newsk, prev, ((struct sk_buff_list *)prev)->next, list); in __skb_queue_after() 2266 void skb_append(struct sk_buff *old, struct sk_buff *newsk, 2271 struct sk_buff *newsk) in __skb_queue_before() argument 2273 __skb_insert(newsk, ((struct sk_buff_list *)next)->prev, next, list); in __skb_queue_before() [all …]
|