Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 90055
b: refs/heads/master
c: e504799
h: refs/heads/master
i:
  90053: 073dc51
  90051: 8972871
  90047: 946850e
v: v3
  • Loading branch information
Daniel Lezcano authored and David S. Miller committed Mar 7, 2008
1 parent 5ecccc0 commit 16b673d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 93ec926b075d14bb7edcbc054e92199e9ad4ad1d
refs/heads/master: e504799276e53045a9b597f24c1b456552482f63
14 changes: 8 additions & 6 deletions trunk/net/ipv6/tcp_ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -988,6 +988,8 @@ static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb)
struct tcphdr *th = tcp_hdr(skb), *t1;
struct sk_buff *buff;
struct flowi fl;
struct net *net = skb->dst->dev->nd_net;
struct sock *ctl_sk = net->ipv6.tcp_sk;
unsigned int tot_len = sizeof(*th);
#ifdef CONFIG_TCP_MD5SIG
struct tcp_md5sig_key *key;
Expand Down Expand Up @@ -1072,11 +1074,10 @@ static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb)
* Underlying function will use this to retrieve the network
* namespace
*/
if (!ip6_dst_lookup(init_net.ipv6.tcp_sk, &buff->dst, &fl)) {
if (!ip6_dst_lookup(ctl_sk, &buff->dst, &fl)) {

if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) {
ip6_xmit(init_net.ipv6.tcp_sk,
buff, &fl, NULL, 0);
ip6_xmit(ctl_sk, buff, &fl, NULL, 0);
TCP_INC_STATS_BH(TCP_MIB_OUTSEGS);
TCP_INC_STATS_BH(TCP_MIB_OUTRSTS);
return;
Expand All @@ -1092,6 +1093,8 @@ static void tcp_v6_send_ack(struct tcp_timewait_sock *tw,
struct tcphdr *th = tcp_hdr(skb), *t1;
struct sk_buff *buff;
struct flowi fl;
struct net *net = skb->dev->nd_net;
struct sock *ctl_sk = net->ipv6.tcp_sk;
unsigned int tot_len = sizeof(struct tcphdr);
__be32 *topt;
#ifdef CONFIG_TCP_MD5SIG
Expand Down Expand Up @@ -1173,10 +1176,9 @@ static void tcp_v6_send_ack(struct tcp_timewait_sock *tw,
fl.fl_ip_sport = t1->source;
security_skb_classify_flow(skb, &fl);

if (!ip6_dst_lookup(init_net.ipv6.tcp_sk, &buff->dst, &fl)) {
if (!ip6_dst_lookup(ctl_sk, &buff->dst, &fl)) {
if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) {
ip6_xmit(init_net.ipv6.tcp_sk,
buff, &fl, NULL, 0);
ip6_xmit(ctl_sk, buff, &fl, NULL, 0);
TCP_INC_STATS_BH(TCP_MIB_OUTSEGS);
return;
}
Expand Down

0 comments on commit 16b673d

Please sign in to comment.