aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/entry/entry_32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/entry/entry_32.S')
-rw-r--r--arch/x86/entry/entry_32.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 687e47f8a796..d309f30cf7af 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -46,6 +46,8 @@
46#include <asm/frame.h> 46#include <asm/frame.h>
47#include <asm/nospec-branch.h> 47#include <asm/nospec-branch.h>
48 48
49#include "calling.h"
50
49 .section .entry.text, "ax" 51 .section .entry.text, "ax"
50 52
51/* 53/*
@@ -712,6 +714,7 @@ ENTRY(ret_from_fork)
712 /* When we fork, we trace the syscall return in the child, too. */ 714 /* When we fork, we trace the syscall return in the child, too. */
713 movl %esp, %eax 715 movl %esp, %eax
714 call syscall_return_slowpath 716 call syscall_return_slowpath
717 STACKLEAK_ERASE
715 jmp restore_all 718 jmp restore_all
716 719
717 /* kernel thread */ 720 /* kernel thread */
@@ -886,6 +889,8 @@ ENTRY(entry_SYSENTER_32)
886 ALTERNATIVE "testl %eax, %eax; jz .Lsyscall_32_done", \ 889 ALTERNATIVE "testl %eax, %eax; jz .Lsyscall_32_done", \
887 "jmp .Lsyscall_32_done", X86_FEATURE_XENPV 890 "jmp .Lsyscall_32_done", X86_FEATURE_XENPV
888 891
892 STACKLEAK_ERASE
893
889/* Opportunistic SYSEXIT */ 894/* Opportunistic SYSEXIT */
890 TRACE_IRQS_ON /* User mode traces as IRQs on. */ 895 TRACE_IRQS_ON /* User mode traces as IRQs on. */
891 896
@@ -997,6 +1002,8 @@ ENTRY(entry_INT80_32)
997 call do_int80_syscall_32 1002 call do_int80_syscall_32
998.Lsyscall_32_done: 1003.Lsyscall_32_done:
999 1004
1005 STACKLEAK_ERASE
1006
1000restore_all: 1007restore_all:
1001 TRACE_IRQS_IRET 1008 TRACE_IRQS_IRET
1002 SWITCH_TO_ENTRY_STACK 1009 SWITCH_TO_ENTRY_STACK