Messages in this thread | | | Date | Thu, 22 May 2008 19:27:19 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [RFC] x86: xsave/xrstor support, ucontext_t extensions |
| |
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
| |