Re: [RFC] x86: xsave/xrstor support, ucontext_t extensions

From: H. Peter Anvin
Date: Thu May 22 2008 - 22:32:32 EST


Suresh Siddha wrote:

The kernel needs to accept one(*) of the formats it can produce, which
is not necessarily what it last produced. It's not inconceivable that
user-space will construct sigframes on the fly (to emulate setcontext),
or that it will mangle sigframes (e.g. to map non-rt to rt before sigreturn).

(*) The format is determined by which version of sys_sigreturn the
user invokes.

No. You CANNOT restore from a frame that doesn't have the full state - you don't have enough information to do so!

What I was doing in the RFC is: restore the state what ever that was present and
init the state that was not present in the stack frame.

Either way, I find it somewhat surprising that the user would invoke a different sys_sigreturn especially if using a restorer function (which gcc always does.)

I really think I need to understand your application better, *especially* in the light of the fact you wouldn't at the moment know how even get the size of the frame.

-hpa
--
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/