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

From: Suresh Siddha <[email-masked]>
Date: Sat, 9 Aug 2008 11:14:06 -0700

On Sat, Aug 09, 2008 at 09:05:50AM -0700, H. Peter Anvin wrote:
> Herbert Xu wrote:
> > On Fri, Aug 08, 2008 at 04:11:21PM -0700, Suresh Siddha wrote:
> >> With out the recent dynamic fpu allocation changes, while we don't see oops,
> >> there is a possible race still present in older kernels(for example,
> >> while kernel is using kernel_fpu_begin() in some optimized clear/copy
> >> page and an interrupt/softirq happens which uses these padlock
> >> instructions generating DNA fault).
> >
> > No this wasn't a problem because kernel_fpu_begin clears TS and
> > therefore we don't get faults on SSE instructions.
> >
> > However, with your patch it will become a problem due to the
> > fact that it wasn't designed to be nested.
> >
> 
> We're invoking this code from interrupt handlers?

Yes. Padlock/ipsec usage seems to be happening in the interrupt
context and this triggered the bug that started this thread.

thanks,
suresh