# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1101 -> 1.1102 # net/ipv4/netfilter/ipt_REJECT.c 1.10 -> 1.11 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/04/21 kaber@trash.net 1.1102 # - fix tcp-rst routing # - fix memory leak # - remove unecessary "struct in_device" declaration # - remove RTO_CONN # -------------------------------------------- # diff -Nru a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c --- a/net/ipv4/netfilter/ipt_REJECT.c Mon Apr 21 21:26:34 2003 +++ b/net/ipv4/netfilter/ipt_REJECT.c Mon Apr 21 21:26:34 2003 @@ -11,7 +11,6 @@ #include #include #include -struct in_device; #include #include #include @@ -65,10 +64,9 @@ return; /* Routing: if not headed for us, route won't like source */ - if (ip_route_output(&rt, oldskb->nh.iph->daddr, - local ? oldskb->nh.iph->saddr : 0, - RT_TOS(oldskb->nh.iph->tos) | RTO_CONN, - 0) != 0) + if (ip_route_output(&rt, oldskb->nh.iph->saddr, + local ? oldskb->nh.iph->daddr : 0, + RT_TOS(oldskb->nh.iph->tos), 0) != 0) return; hh_len = (rt->u.dst.dev->hard_header_len + 15)&~15; @@ -80,8 +78,10 @@ hh_len of incoming interface < hh_len of outgoing interface */ nskb = skb_copy_expand(oldskb, hh_len, skb_tailroom(oldskb), GFP_ATOMIC); - if (!nskb) + if (!nskb) { + dst_release(&rt->u.dst); return; + } dst_release(nskb->dst); nskb->dst = &rt->u.dst;