Blaisorblade wrote:
> On Tuesday 06 March 2007 00:26, Blaisorblade wrote:
>  > On Tuesday 06 March 2007 00:10, Jeff Dike wrote:
>  > > On Tue, Mar 06, 2007 at 12:03:26AM +0100, Blaisorblade wrote:
>  > > > > No, RCX corruption is different - that happens when a sysexit 
> is done
>  > > > > from a system call where userspace wasn't prepared to save and
>  > > > > restore RCX.  sigreturn is the best example.
>  > > >
>  > > > Hmm... we should finally fix that, at some point. Or... now that you
>  > > > explain it this way, it could even seem unfixable... is it? Or maybe
>  > > > sysreturn should become a syscall where the return must happen 
> through
>  > > > the slow return path (iret), if that exists for x86_64.
>  > >
>  > > This is fixed, and has been for a while.  The fix was, as you suggest,
>  > > return through iret in this case.
> 
> Hmm, return through IRET is implemented for sys_rt_sigreturn since 2.6.0 
> (with
> a couple of changes, yeah, but...).
> 
> Was the original Bodo's report bogus? No, he actually found a much harder
> issue.
> 
> I've attached the log of that IRC here for reference.
> 
I took a quick look into 2.6.21-rc3, arch/x86_64/entry.S. AFAICS, the problem
I supposed in the IRC is fixed. Now a ptraced syscall always returns through
IRET. Thus, *all* registers in user space exactly will have the contents,
which the tracing process wrote at end of syscall.

Bodo

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to