/linux/net/dccp/ |
H A D | ipv6.c | 430 struct sock *newsk; in dccp_v6_request_recv_sock() local 436 newsk = dccp_v4_request_recv_sock(sk, skb, req, dst, in dccp_v6_request_recv_sock() 438 if (newsk == NULL) in dccp_v6_request_recv_sock() 441 newdp6 = (struct dccp6_sock *)newsk; in dccp_v6_request_recv_sock() 442 newinet = inet_sk(newsk); in dccp_v6_request_recv_sock() 444 newnp = inet6_sk(newsk); in dccp_v6_request_recv_sock() 448 newnp->saddr = newsk->sk_v6_rcv_saddr; in dccp_v6_request_recv_sock() 450 inet_csk(newsk)->icsk_af_ops = &dccp_ipv6_mapped; in dccp_v6_request_recv_sock() 451 newsk->sk_backlog_rcv = dccp_v4_do_rcv; in dccp_v6_request_recv_sock() 470 dccp_sync_mss(newsk, inet_csk(newsk)->icsk_pmtu_cookie); in dccp_v6_request_recv_sock() [all …]
|
H A D | minisocks.c | 82 struct sock *newsk = inet_csk_clone_lock(sk, req, GFP_ATOMIC); in dccp_create_openreq_child() local 84 if (newsk != NULL) { in dccp_create_openreq_child() 86 struct inet_connection_sock *newicsk = inet_csk(newsk); in dccp_create_openreq_child() 87 struct dccp_sock *newdp = dccp_sk(newsk); in dccp_create_openreq_child() 120 if (dccp_feat_activate_values(newsk, &dreq->dreq_featneg)) { in dccp_create_openreq_child() 121 sk_free_unlock_clone(newsk); in dccp_create_openreq_child() 124 dccp_init_xmit_timers(newsk); in dccp_create_openreq_child() 128 return newsk; in dccp_create_openreq_child()
|
/linux/net/ipv6/ |
H A D | tcp_ipv6.c | 1359 struct sock *newsk; local 1371 newsk = tcp_v4_syn_recv_sock(sk, skb, req, dst, 1374 if (!newsk) 1377 inet_sk(newsk)->pinet6 = tcp_inet6_sk(newsk); 1379 newnp = tcp_inet6_sk(newsk); 1380 newtp = tcp_sk(newsk); 1384 newnp->saddr = newsk->sk_v6_rcv_saddr; 1386 inet_csk(newsk)->icsk_af_ops = &ipv6_mapped; 1387 if (sk_is_mptcp(newsk)) 1388 mptcpv6_handle_mapped(newsk, true); [all …]
|
/linux/drivers/net/ethernet/chelsio/inline_crypto/chtls/ |
H A 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/net/core/ |
H A D | sock.c | 2404 struct sock *newsk; in sk_clone_lock() local 2406 newsk = sk_prot_alloc(prot, priority, sk->sk_family); in sk_clone_lock() 2407 if (!newsk) in sk_clone_lock() 2410 sock_copy(newsk, sk); in sk_clone_lock() 2412 newsk->sk_prot_creator = prot; in sk_clone_lock() 2415 if (likely(newsk->sk_net_refcnt)) { in sk_clone_lock() 2416 get_net_track(sock_net(newsk), &newsk->ns_tracker, priority); in sk_clone_lock() 2417 sock_inuse_add(sock_net(newsk), 1); in sk_clone_lock() 2424 net_passive_inc(sock_net(newsk)); in sk_clone_lock() 2425 __netns_tracker_alloc(sock_net(newsk), &newsk->ns_tracker, in sk_clone_lock() [all …]
|
H A D | bpf_sk_storage.c | 135 bpf_sk_storage_clone_elem(struct sock *newsk, in bpf_sk_storage_clone_elem() argument 141 copy_selem = bpf_selem_alloc(smap, newsk, NULL, true, false, GFP_ATOMIC); in bpf_sk_storage_clone_elem() 155 int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk) in bpf_sk_storage_clone() argument 162 RCU_INIT_POINTER(newsk->sk_bpf_storage, NULL); in bpf_sk_storage_clone() 189 copy_selem = bpf_sk_storage_clone_elem(newsk, smap, selem); in bpf_sk_storage_clone() 200 ret = bpf_local_storage_alloc(newsk, smap, copy_selem, GFP_ATOMIC); in bpf_sk_storage_clone() 204 &newsk->sk_omem_alloc); in bpf_sk_storage_clone()
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | lsm_cgroup.c | 167 int BPF_PROG(socket_clone, struct sock *newsk, const struct request_sock *req) in BPF_PROG() argument 171 if (!newsk) in BPF_PROG() 175 if (bpf_setsockopt(newsk, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio))) in BPF_PROG() 180 if (bpf_getsockopt(newsk, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio))) in BPF_PROG()
|
H A 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/net/phonet/ |
H A 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 …]
|
H A D | socket.c | 298 struct sock *newsk; in pn_socket_accept() local 303 newsk = sk->sk_prot->accept(sk, arg); in pn_socket_accept() 304 if (!newsk) in pn_socket_accept() 307 lock_sock(newsk); in pn_socket_accept() 308 sock_graft(newsk, newsock); in pn_socket_accept() 310 release_sock(newsk); in pn_socket_accept()
|
/linux/net/tipc/ |
H A 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/net/ipv4/ |
H A D | tcp_minisocks.c | 522 struct sock *newsk = inet_csk_clone_lock(sk, req, GFP_ATOMIC); in tcp_create_openreq_child() local 530 if (!newsk) in tcp_create_openreq_child() 533 newicsk = inet_csk(newsk); in tcp_create_openreq_child() 534 newtp = tcp_sk(newsk); in tcp_create_openreq_child() 562 newsk->sk_txhash = READ_ONCE(treq->txhash); in tcp_create_openreq_child() 565 tcp_init_xmit_timers(newsk); in tcp_create_openreq_child() 568 if (sock_flag(newsk, SOCK_KEEPOPEN)) in tcp_create_openreq_child() 569 inet_csk_reset_keepalive_timer(newsk, in tcp_create_openreq_child() 636 tcp_bpf_clone(sk, newsk); in tcp_create_openreq_child() 640 xa_init_flags(&newsk->sk_user_frags, XA_FLAGS_ALLOC1); in tcp_create_openreq_child() [all …]
|
H A D | tcp_ipv4.c | 1752 struct sock *newsk; local 1763 newsk = tcp_create_openreq_child(sk, req, skb); 1764 if (!newsk) 1767 newsk->sk_gso_type = SKB_GSO_TCPV4; 1768 inet_sk_rx_dst_set(newsk, skb); 1770 newtp = tcp_sk(newsk); 1771 newinet = inet_sk(newsk); 1773 sk_daddr_set(newsk, ireq->ir_rmt_addr); 1774 sk_rcv_saddr_set(newsk, ireq->ir_loc_addr); 1775 newsk->sk_bound_dev_if = ireq->ir_iif; [all …]
|
H A D | tcp_ao.c | 1188 int tcp_ao_copy_all_matching(const struct sock *sk, struct sock *newsk, in tcp_ao_copy_all_matching() argument 1216 addr = (union tcp_ao_addr *)&newsk->sk_daddr; in tcp_ao_copy_all_matching() 1219 addr = (union tcp_ao_addr *)&newsk->sk_v6_daddr; in tcp_ao_copy_all_matching() 1225 l3index = l3mdev_master_ifindex_by_index(sock_net(newsk), in tcp_ao_copy_all_matching() 1226 newsk->sk_bound_dev_if); in tcp_ao_copy_all_matching() 1232 new_key = tcp_ao_copy_key(newsk, key); in tcp_ao_copy_all_matching() 1236 tcp_ao_cache_traffic_keys(newsk, new_ao, new_key); in tcp_ao_copy_all_matching() 1273 sk_gso_disable(newsk); in tcp_ao_copy_all_matching() 1274 rcu_assign_pointer(tcp_sk(newsk)->ao_info, new_ao); in tcp_ao_copy_all_matching() 1282 atomic_sub(tcp_ao_sizeof_key(key), &newsk->sk_omem_alloc); in tcp_ao_copy_all_matching()
|
H A D | tcp_bpf.c | 729 void tcp_bpf_clone(const struct sock *sk, struct sock *newsk) in tcp_bpf_clone() argument 731 struct proto *prot = newsk->sk_prot; in tcp_bpf_clone() 734 newsk->sk_prot = sk->sk_prot_creator; in tcp_bpf_clone()
|
/linux/include/net/ |
H A 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
|
H A D | inet_common.h | 35 struct sock *newsk);
|
/linux/security/selinux/include/ |
H A D | netlabel.h | 42 void selinux_netlbl_sctp_sk_clone(struct sock *sk, struct sock *newsk); 106 struct sock *newsk) in selinux_netlbl_sctp_sk_clone() argument
|
/linux/net/llc/ |
H A 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()
|
H A D | af_llc.c | 699 struct sock *sk = sock->sk, *newsk; in llc_ui_accept() local 726 newsk = skb->sk; in llc_ui_accept() 728 llc_ui_sk_init(newsock, newsk); in llc_ui_accept() 729 sock_reset_flag(newsk, SOCK_ZAPPED); in llc_ui_accept() 730 newsk->sk_state = TCP_ESTABLISHED; in llc_ui_accept() 733 newllc = llc_sk(newsk); in llc_ui_accept()
|
/linux/net/sctp/ |
H A D | socket.c | 92 static int sctp_sock_migrate(struct sock *oldsk, struct sock *newsk, 4858 struct sock *newsk = NULL; in sctp_accept() local 4890 newsk = sp->pf->create_accept_sk(sk, asoc, arg->kern); in sctp_accept() 4891 if (!newsk) { in sctp_accept() 4899 error = sctp_sock_migrate(sk, newsk, asoc, SCTP_SOCKET_TCP); in sctp_accept() 4901 sk_common_release(newsk); in sctp_accept() 4902 newsk = NULL; in sctp_accept() 4908 return newsk; in sctp_accept() 9464 void sctp_copy_sock(struct sock *newsk, struct sock *sk, in sctp_copy_sock() argument 9471 newsk->sk_type = sk->sk_type; in sctp_copy_sock() [all …]
|
/linux/net/mptcp/ |
H A D | protocol.c | 3257 static void mptcp_copy_ip6_options(struct sock *newsk, const struct sock *sk) in mptcp_copy_ip6_options() argument 3263 newnp = inet6_sk(newsk); in mptcp_copy_ip6_options() 3268 opt = ipv6_dup_options(newsk, opt); in mptcp_copy_ip6_options() 3277 static void mptcp_copy_ip_options(struct sock *newsk, const struct sock *sk) in mptcp_copy_ip_options() argument 3283 newinet = inet_sk(newsk); in mptcp_copy_ip_options() 3288 newopt = sock_kmalloc(newsk, sizeof(*inet_opt) + in mptcp_copy_ip_options() 3931 struct sock *ssk, *newsk; in mptcp_stream_accept() local 3943 newsk = inet_csk_accept(ssk, arg); in mptcp_stream_accept() 3944 if (!newsk) in mptcp_stream_accept() 3947 pr_debug("newsk=%p, subflow is mptcp=%d\n", newsk, sk_is_mptcp(newsk)); in mptcp_stream_accept() [all …]
|
H A D | pm_netlink.c | 1093 struct sock *newsk, *ssk; in mptcp_pm_nl_create_listen_socket() local 1102 newsk = entry->lsk->sk; in mptcp_pm_nl_create_listen_socket() 1103 if (!newsk) in mptcp_pm_nl_create_listen_socket() 1112 sock_lock_init_class_and_name(newsk, in mptcp_pm_nl_create_listen_socket() 1118 lock_sock(newsk); in mptcp_pm_nl_create_listen_socket() 1119 ssk = __mptcp_nmpc_sk(mptcp_sk(newsk)); in mptcp_pm_nl_create_listen_socket() 1120 release_sock(newsk); in mptcp_pm_nl_create_listen_socket() 1143 inet_sk_state_store(newsk, TCP_LISTEN); in mptcp_pm_nl_create_listen_socket()
|
/linux/net/unix/ |
H A D | af_unix.c | 1536 struct sock *sk = sock->sk, *newsk = NULL, *other = NULL; in unix_stream_connect() local 1568 newsk = unix_create1(net, NULL, 0, sock->type); in unix_stream_connect() 1569 if (IS_ERR(newsk)) { in unix_stream_connect() 1570 err = PTR_ERR(newsk); in unix_stream_connect() 1575 skb = sock_wmalloc(newsk, 1, 0, GFP_KERNEL); in unix_stream_connect() 1637 err = security_unix_stream_connect(sk, other, newsk); in unix_stream_connect() 1646 unix_peer(newsk) = sk; in unix_stream_connect() 1647 newsk->sk_state = TCP_ESTABLISHED; in unix_stream_connect() 1648 newsk->sk_type = sk->sk_type; in unix_stream_connect() 1649 init_peercred(newsk); in unix_stream_connect() [all …]
|
/linux/security/selinux/ |
H A D | netlabel.c | 377 void selinux_netlbl_sctp_sk_clone(struct sock *sk, struct sock *newsk) in selinux_netlbl_sctp_sk_clone() argument 380 struct sk_security_struct *newsksec = selinux_sock(newsk); in selinux_netlbl_sctp_sk_clone()
|