diff options
author | Luiz Souza <luiz@netgate.com> | 2018-02-21 14:26:22 -0300 |
---|---|---|
committer | Luiz Souza <luiz@netgate.com> | 2018-02-21 14:26:22 -0300 |
commit | 4c9907d21517c211b27a3cf5b7a2a976623820cc (patch) | |
tree | e6d44f1e5491e491582dc98d2ad92231d99257c5 /sys/amd64/ia32/ia32_syscall.c | |
parent | 911d650e1367dc4a6ac7feb96f47fc87fd6a4984 (diff) | |
download | FreeBSD-src-4c9907d21517c211b27a3cf5b7a2a976623820cc.zip FreeBSD-src-4c9907d21517c211b27a3cf5b7a2a976623820cc.tar.gz |
Revert "MFC r319873:"
This reverts commit 5dad0dd804a33b8a372d49fa342b24c67b1c2fb3.
Diffstat (limited to 'sys/amd64/ia32/ia32_syscall.c')
-rw-r--r-- | sys/amd64/ia32/ia32_syscall.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c index c07b38c..6e96edd 100644 --- a/sys/amd64/ia32/ia32_syscall.c +++ b/sys/amd64/ia32/ia32_syscall.c @@ -105,18 +105,16 @@ ia32_set_syscall_retval(struct thread *td, int error) } int -ia32_fetch_syscall_args(struct thread *td) +ia32_fetch_syscall_args(struct thread *td, struct syscall_args *sa) { struct proc *p; struct trapframe *frame; - struct syscall_args *sa; caddr_t params; u_int32_t args[8], tmp; int error, i; p = td->td_proc; frame = td->td_frame; - sa = &td->td_sa; params = (caddr_t)frame->tf_rsp + sizeof(u_int32_t); sa->code = frame->tf_rax; @@ -177,6 +175,7 @@ void ia32_syscall(struct trapframe *frame) { struct thread *td; + struct syscall_args sa; register_t orig_tf_rflags; int error; ksiginfo_t ksi; @@ -185,7 +184,7 @@ ia32_syscall(struct trapframe *frame) td = curthread; td->td_frame = frame; - error = syscallenter(td); + error = syscallenter(td, &sa); /* * Traced syscall. @@ -199,7 +198,7 @@ ia32_syscall(struct trapframe *frame) trapsignal(td, &ksi); } - syscallret(td, error); + syscallret(td, error, &sa); } static void |