Re: Kernel oops with 2.6.26, padlock and ipsec: probably problem with fpu state changes

Herbert Xu
2008-08-09T13:32:21Z

On Fri, Aug 08, 2008 at 04:11:21PM -0700, Suresh Siddha wrote:
>
> b) Looking deeper, do we need to disable interrupts in the kernel_fpu_begin()?
> Is there a recursive case, where interrupt context also touches FPU/SSE
> registers?

Even if there wasn't one before, there is going to be one now
because as you pointed out yourself, if we get an inbound IPsec
packet between any kernel_fpu_begin/kernel_fpu_end area, we could
get a nested kernel_fpu_end which puts us back to square one wrt
to the original race.

So clearly we need to think more about this issue.

Unless we can come up with a new solution quickly, I recommend
that we back out the FPU changes.

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt