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