提交 0c27171e 编写于 作者: E Eric Dumazet 提交者: David S. Miller

tcp/dccp: constify syn_recv_sock() method sock argument

We'll soon no longer hold listener socket lock, these
functions do not modify the socket in any way.
Signed-off-by: NEric Dumazet <edumazet@google.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 c28c6f04
...@@ -41,7 +41,7 @@ struct inet_connection_sock_af_ops { ...@@ -41,7 +41,7 @@ struct inet_connection_sock_af_ops {
int (*rebuild_header)(struct sock *sk); int (*rebuild_header)(struct sock *sk);
void (*sk_rx_dst_set)(struct sock *sk, const struct sk_buff *skb); void (*sk_rx_dst_set)(struct sock *sk, const struct sk_buff *skb);
int (*conn_request)(struct sock *sk, struct sk_buff *skb); int (*conn_request)(struct sock *sk, struct sk_buff *skb);
struct sock *(*syn_recv_sock)(struct sock *sk, struct sk_buff *skb, struct sock *(*syn_recv_sock)(const struct sock *sk, struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst); struct dst_entry *dst);
u16 net_header_len; u16 net_header_len;
......
...@@ -454,7 +454,7 @@ struct sock *tcp_create_openreq_child(const struct sock *sk, ...@@ -454,7 +454,7 @@ struct sock *tcp_create_openreq_child(const struct sock *sk,
struct request_sock *req, struct request_sock *req,
struct sk_buff *skb); struct sk_buff *skb);
void tcp_ca_openreq_child(struct sock *sk, const struct dst_entry *dst); void tcp_ca_openreq_child(struct sock *sk, const struct dst_entry *dst);
struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb, struct sock *tcp_v4_syn_recv_sock(const struct sock *sk, struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst); struct dst_entry *dst);
int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb); int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb);
......
...@@ -276,7 +276,7 @@ struct sock *dccp_create_openreq_child(const struct sock *sk, ...@@ -276,7 +276,7 @@ struct sock *dccp_create_openreq_child(const struct sock *sk,
int dccp_v4_do_rcv(struct sock *sk, struct sk_buff *skb); int dccp_v4_do_rcv(struct sock *sk, struct sk_buff *skb);
struct sock *dccp_v4_request_recv_sock(struct sock *sk, struct sk_buff *skb, struct sock *dccp_v4_request_recv_sock(const struct sock *sk, struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst); struct dst_entry *dst);
struct sock *dccp_check_req(struct sock *sk, struct sk_buff *skb, struct sock *dccp_check_req(struct sock *sk, struct sk_buff *skb,
......
...@@ -390,7 +390,8 @@ static inline u64 dccp_v4_init_sequence(const struct sk_buff *skb) ...@@ -390,7 +390,8 @@ static inline u64 dccp_v4_init_sequence(const struct sk_buff *skb)
* *
* This is the equivalent of TCP's tcp_v4_syn_recv_sock * This is the equivalent of TCP's tcp_v4_syn_recv_sock
*/ */
struct sock *dccp_v4_request_recv_sock(struct sock *sk, struct sk_buff *skb, struct sock *dccp_v4_request_recv_sock(const struct sock *sk,
struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst) struct dst_entry *dst)
{ {
......
...@@ -408,13 +408,14 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb) ...@@ -408,13 +408,14 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
return -1; return -1;
} }
static struct sock *dccp_v6_request_recv_sock(struct sock *sk, static struct sock *dccp_v6_request_recv_sock(const struct sock *sk,
struct sk_buff *skb, struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst) struct dst_entry *dst)
{ {
struct inet_request_sock *ireq = inet_rsk(req); struct inet_request_sock *ireq = inet_rsk(req);
struct ipv6_pinfo *newnp, *np = inet6_sk(sk); struct ipv6_pinfo *newnp;
const struct ipv6_pinfo *np = inet6_sk(sk);
struct inet_sock *newinet; struct inet_sock *newinet;
struct dccp6_sock *newdp6; struct dccp6_sock *newdp6;
struct sock *newsk; struct sock *newsk;
......
...@@ -1242,7 +1242,7 @@ EXPORT_SYMBOL(tcp_v4_conn_request); ...@@ -1242,7 +1242,7 @@ EXPORT_SYMBOL(tcp_v4_conn_request);
* The three way handshake has completed - we got a valid synack - * The three way handshake has completed - we got a valid synack -
* now create the new socket. * now create the new socket.
*/ */
struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb, struct sock *tcp_v4_syn_recv_sock(const struct sock *sk, struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst) struct dst_entry *dst)
{ {
......
...@@ -986,12 +986,13 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb) ...@@ -986,12 +986,13 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
return 0; /* don't send reset */ return 0; /* don't send reset */
} }
static struct sock *tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, static struct sock *tcp_v6_syn_recv_sock(const struct sock *sk, struct sk_buff *skb,
struct request_sock *req, struct request_sock *req,
struct dst_entry *dst) struct dst_entry *dst)
{ {
struct inet_request_sock *ireq; struct inet_request_sock *ireq;
struct ipv6_pinfo *newnp, *np = inet6_sk(sk); struct ipv6_pinfo *newnp;
const struct ipv6_pinfo *np = inet6_sk(sk);
struct tcp6_sock *newtcp6sk; struct tcp6_sock *newtcp6sk;
struct inet_sock *newinet; struct inet_sock *newinet;
struct tcp_sock *newtp; struct tcp_sock *newtp;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册