Author: kib Date: Thu Jun 14 12:35:57 2018 New Revision: 335135 URL: https://svnweb.freebsd.org/changeset/base/335135
Log: linuxolator/amd64: Don't mangle %r10 on return from syscall for EJUSTRETURN. This fixes the %r10 content for rt_sigreturn. Submitted by: Yanko Yankulov <[email protected]> MFC after: 1 week Modified: head/sys/amd64/linux/linux_sysvec.c Modified: head/sys/amd64/linux/linux_sysvec.c ============================================================================== --- head/sys/amd64/linux/linux_sysvec.c Thu Jun 14 12:14:51 2018 (r335134) +++ head/sys/amd64/linux/linux_sysvec.c Thu Jun 14 12:35:57 2018 (r335135) @@ -228,7 +228,8 @@ linux_set_syscall_retval(struct thread *td, int error) * the syscall. So, do not clobber %rdx and %r10. */ td->td_retval[1] = frame->tf_rdx; - frame->tf_r10 = frame->tf_rcx; + if (error != EJUSTRETURN) + frame->tf_r10 = frame->tf_rcx; cpu_set_syscall_retval(td, error); _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "[email protected]"
