diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2018-06-14 12:35:57 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2018-06-14 12:35:57 +0000 |
| commit | 459ccd3c5f954d23153c0c637710b0c68458c7dd (patch) | |
| tree | 2ea18d201b058b53a70134749074b9c202566785 /sys/amd64/linux/linux_sysvec.c | |
| parent | ef8dcce3c21a89edbe4c5cdb5f4df080f07b3eb4 (diff) | |
Notes
Diffstat (limited to 'sys/amd64/linux/linux_sysvec.c')
| -rw-r--r-- | sys/amd64/linux/linux_sysvec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index cd5c8bd382dc..d51505792122 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -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); |
