Subject: fix-slab-corruption-running-ip6sic.patch

From: Andrew Morton <[email-masked]>
Date: Thu, 26 Apr 2007 14:11:33 -0700

I have this floating about in my tree.  Is it of any interest?

From: Jarek Poplawski <[email-masked]>

* Herbert Xu ([email-masked]) wrote:
> Jarek Poplawski <[email-masked]> wrote:
> >
> > My proposal is: maybe Eric could change this in
> > xfrm6_tunnel_rcv() from xfrm6_tunnel.c e.g. like this:
> >
> > return xfrm6_rcv_spi(skb, spi) > 0 ? : 0;
> >
> > and, if no errors in testing, he could resubmit this patch?
>
> I agree, this is the right fix.

The fix proposed by Jarek indeed fixes the problem, tested on two boxes,
with an -rc5 kernel and a yesterdays git

Acked-by: Eric Sesterhenn <[email-masked]>
Signed-off-by: Andrew Morton <[email-masked]>
---

 net/ipv6/xfrm6_tunnel.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN net/ipv6/xfrm6_tunnel.c~fix-slab-corruption-running-ip6sic net/ipv6/xfrm6_tunnel.c
--- a/net/ipv6/xfrm6_tunnel.c~fix-slab-corruption-running-ip6sic
+++ a/net/ipv6/xfrm6_tunnel.c
@@ -261,7 +261,7 @@ static int xfrm6_tunnel_rcv(struct sk_bu
 	__be32 spi;
 
 	spi = xfrm6_tunnel_spi_lookup((xfrm_address_t *)&iph->saddr);
-	return xfrm6_rcv_spi(skb, spi);
+	return xfrm6_rcv_spi(skb, spi) > 0 ? : 0;
 }
 
 static int xfrm6_tunnel_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
_