summaryrefslogtreecommitdiffstats
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2012-06-03 20:33:21 +0000
committerDavid S. Miller <davem@davemloft.net>2012-06-04 11:27:39 -0400
commit4aea39c11c610e411768649fdc04777903ebfe07 (patch)
tree0389be795b0ebd8c75992eedf511e2346cfbf10f /net/ipv6/tcp_ipv6.c
parent90ba9b1986b5ac4b2d184575847147ea7c4280a2 (diff)
downloadlinux-4aea39c11c610e411768649fdc04777903ebfe07.tar.gz
linux-4aea39c11c610e411768649fdc04777903ebfe07.tar.bz2
linux-4aea39c11c610e411768649fdc04777903ebfe07.zip
tcp: tcp_make_synack() consumes dst parameter
tcp_make_synack() clones the dst, and callers release it. We can avoid two atomic operations per SYNACK if tcp_make_synack() consumes dst instead of cloning it. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r--net/ipv6/tcp_ipv6.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 3a9aec29581a..80758255556c 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -522,7 +522,6 @@ static int tcp_v6_send_synack(struct sock *sk, struct request_sock *req,
done:
if (opt && opt != np->opt)
sock_kfree_s(sk, opt, opt->tot_len);
- dst_release(dst);
return err;
}