Re: 2.6.26-git: NULL pointer deref in __switch_to

From: Rusty Russell
Date: Wed Jun 18 2008 - 08:20:15 EST


On Wednesday 18 June 2008 16:23:57 Suresh Siddha wrote:
> hi Rusty,
>
> On Tue, Jun 17, 2008 at 10:34:23PM -0700, Rusty Russell wrote:
> > Firstly, thanks for figuring this out. But math_state_restore() has
> > nasty semantics now. Currently lguest will work, because no code path
> > following this call relies on being on the same CPU.
> >
> > So, this patch is fine, but I wonder if I should just be forcing fpu
> > allocation earlier for lguest tasks, so I can avoid this altogether?
>
> Even with force fpu allocation, we need these fixes(except for the SYSENTER
> hunk)
>
> Just to clarify, dynamic fpu allocation didn't create these problems.
> Some of these problems were there before aswell, and would show up as
> fpu corruption for some of the tasks inside the lguest. With the
> dynamic fpu allocation, it showed up as host kernel oops.
>
> In future, if lguest driver code ever has a code path which relies
> on running on the same cpu after math_state_restore(), yes they
> can force allocate, by doing early math_state_restore() before
> the guest starts.
>
> But the current usage of lguest_set_ts() is clearly broken and violates
> certain behavior expected by the fpu context switch handling routines.

OK, lguest pieces Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

Since this has non-lguest pieces, please send via Ingo.

Cheers,
Rusty.
--
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/