diff options
author | David S. Miller <davem@davemloft.net> | 2015-09-29 16:53:10 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-09-29 16:53:10 -0700 |
commit | e6934f3ec00b04234acb24a1a2c28af59763d3b5 (patch) | |
tree | 335da15ef581d750ada2ba11e6ca6900ba82ae86 /net/ipv4/tcp_minisocks.c | |
parent | 4c7e622ddf07388d72e15b97a88d260a5a168e37 (diff) | |
parent | 0536fcc039a8926ec12ec587f41a83f7acafeb82 (diff) | |
download | linux-stable-e6934f3ec00b04234acb24a1a2c28af59763d3b5.tar.gz linux-stable-e6934f3ec00b04234acb24a1a2c28af59763d3b5.tar.bz2 linux-stable-e6934f3ec00b04234acb24a1a2c28af59763d3b5.zip |
Merge branch 'listener-refactoring-preparations'
Eric Dumazet says:
====================
tcp: listener refactoring preparations
This patch series makes changes to TCP/DCCP stacks so that
we can switch listener code to lockless mode.
This is done by marking const the listener socket in all
appropriate paths.
FastOpen code had to be changed to not dynamically allocate
a very small structure to make code simpler for following changes.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index e4fe62b6b106..897e34273ba3 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -441,7 +441,9 @@ EXPORT_SYMBOL_GPL(tcp_ca_openreq_child); * Actually, we could lots of memory writes here. tp of listening * socket contains all necessary default parameters. */ -struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, struct sk_buff *skb) +struct sock *tcp_create_openreq_child(const struct sock *sk, + struct request_sock *req, + struct sk_buff *skb) { struct sock *newsk = inet_csk_clone_lock(sk, req, GFP_ATOMIC); @@ -821,8 +823,7 @@ int tcp_child_process(struct sock *parent, struct sock *child, int state = child->sk_state; if (!sock_owned_by_user(child)) { - ret = tcp_rcv_state_process(child, skb, tcp_hdr(skb), - skb->len); + ret = tcp_rcv_state_process(child, skb); /* Wakeup parent, send SIGIO */ if (state == TCP_SYN_RECV && child->sk_state != state) parent->sk_data_ready(parent); |