Re: [IPSEC]: Use the correct ip_local_out function

From: Marco Berizzi
Date: Tue May 27 2008 - 05:04:32 EST


David Miller wrote:

> From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Date: Tue, 20 May 2008 17:25:11 +0800
>
> > On Wed, May 14, 2008 at 10:19:57AM +0200, Marco Berizzi wrote:
> > >
> > > I hope this helps.
> >
> > OK found the problem, it was my fault after all :)
> >
> > Dave, this patch needs to go into stable too.
> >
> > [IPSEC]: Use the correct ip_local_out function
> >
> > Because the IPsec output function xfrm_output_resume does its
> > own dst_output call it should always call __ip_local_output
> > instead of ip_local_output as the latter may invoke dst_output
> > directly. Otherwise the return values from nf_hook and dst_output
> > may clash as they both use the value 1 but for different purposes.
> >
> > When that clash occurs this can cause a packet to be used after
> > it has been freed which usually leads to a crash. Because the
> > offending value is only returned from dst_output with qdiscs
> > such as HTB, this bug is normally not visible.
> >
> > Thanks to Marco Berizzi for his perseverance in tracking this
> > down.
> >
> > Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
>
> Applied and queued to -stable, thanks!

Just a confirmation message that this bug has been fixed
(one week uptime).


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/