From: Dave Jones <[EMAIL PROTECTED]>
Date: Sat, 4 Feb 2006 12:14:11 -0500

> I've hit it three times now, and every time it seems to have happened
> whilst it was under attack from junk icmp, which hopefully narrows 
> it down a little to a specific set of isic parameters.

I've sent the following fix from Herbert to Linus and -stable.

diff-tree 429563d07b4feda0729f296b90c722f4d431adac (from 
53ea68ecea11bcbb3451c2758ce181bd97b569a9)
Author: Herbert Xu <[EMAIL PROTECTED]>
Date:   Sat Feb 4 02:09:34 2006 -0800

    [ICMP]: Fix extra dst release when ip_options_echo fails
    
    When two ip_route_output_key lookups in icmp_send were combined I
    forgot to change the error path for ip_options_echo to not drop the
    dst reference since it now sits before the dst lookup.  To fix it we
    simply jump past the ip_rt_put call.
    
    Signed-off-by: Herbert Xu <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>

diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index 6bc0887..4d1c409 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -524,7 +524,7 @@ void icmp_send(struct sk_buff *skb_in, i
                                          iph->tos;
 
        if (ip_options_echo(&icmp_param.replyopts, skb_in))
-               goto ende;
+               goto out_unlock;
 
 
        /*
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to