diff options
author | Eric Dumazet <edumazet@google.com> | 2012-06-03 16:33:21 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-04 11:27:39 -0400 |
commit | 4aea39c11c610e411768649fdc04777903ebfe07 (patch) | |
tree | 0389be795b0ebd8c75992eedf511e2346cfbf10f /net/ipv6 | |
parent | 90ba9b1986b5ac4b2d184575847147ea7c4280a2 (diff) |
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')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 1 |
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, | |||
522 | done: | 522 | done: |
523 | if (opt && opt != np->opt) | 523 | if (opt && opt != np->opt) |
524 | sock_kfree_s(sk, opt, opt->tot_len); | 524 | sock_kfree_s(sk, opt, opt->tot_len); |
525 | dst_release(dst); | ||
526 | return err; | 525 | return err; |
527 | } | 526 | } |
528 | 527 | ||