aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/ia32/ia32entry.S19
1 files changed, 6 insertions, 13 deletions
diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
index 18b231810908..df588f0f76e1 100644
--- a/arch/x86/ia32/ia32entry.S
+++ b/arch/x86/ia32/ia32entry.S
@@ -159,20 +159,16 @@ sysenter_do_call:
159 159
160sysenter_tracesys: 160sysenter_tracesys:
161 CFI_RESTORE_STATE 161 CFI_RESTORE_STATE
162 xchgl %r9d,%ebp
162 SAVE_REST 163 SAVE_REST
163 CLEAR_RREGS 164 CLEAR_RREGS
165 movq %r9,R9(%rsp)
164 movq $-ENOSYS,RAX(%rsp) /* really needed? */ 166 movq $-ENOSYS,RAX(%rsp) /* really needed? */
165 movq %rsp,%rdi /* &pt_regs -> arg1 */ 167 movq %rsp,%rdi /* &pt_regs -> arg1 */
166 call syscall_trace_enter 168 call syscall_trace_enter
167 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */ 169 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
168 RESTORE_REST 170 RESTORE_REST
169 movl %ebp, %ebp 171 xchgl %ebp,%r9d
170 /* no need to do an access_ok check here because rbp has been
171 32bit zero extended */
1721: movl (%rbp),%r9d
173 .section __ex_table,"a"
174 .quad 1b,ia32_badarg
175 .previous
176 jmp sysenter_do_call 172 jmp sysenter_do_call
177 CFI_ENDPROC 173 CFI_ENDPROC
178ENDPROC(ia32_sysenter_target) 174ENDPROC(ia32_sysenter_target)
@@ -262,20 +258,17 @@ cstar_do_call:
262 258
263cstar_tracesys: 259cstar_tracesys:
264 CFI_RESTORE_STATE 260 CFI_RESTORE_STATE
261 xchgl %r9d,%ebp
265 SAVE_REST 262 SAVE_REST
266 CLEAR_RREGS 263 CLEAR_RREGS
264 movq %r9,R9(%rsp)
267 movq $-ENOSYS,RAX(%rsp) /* really needed? */ 265 movq $-ENOSYS,RAX(%rsp) /* really needed? */
268 movq %rsp,%rdi /* &pt_regs -> arg1 */ 266 movq %rsp,%rdi /* &pt_regs -> arg1 */
269 call syscall_trace_enter 267 call syscall_trace_enter
270 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */ 268 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
271 RESTORE_REST 269 RESTORE_REST
270 xchgl %ebp,%r9d
272 movl RSP-ARGOFFSET(%rsp), %r8d 271 movl RSP-ARGOFFSET(%rsp), %r8d
273 /* no need to do an access_ok check here because r8 has been
274 32bit zero extended */
2751: movl (%r8),%r9d
276 .section __ex_table,"a"
277 .quad 1b,ia32_badarg
278 .previous
279 jmp cstar_do_call 272 jmp cstar_do_call
280END(ia32_cstar_target) 273END(ia32_cstar_target)
281 274