aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/entry_64.S34
1 files changed, 17 insertions, 17 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index 5252e6021826..f7d9ba6f73a3 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -521,6 +521,23 @@ ENTRY(stub_execveat)
521 CFI_ENDPROC 521 CFI_ENDPROC
522END(stub_execveat) 522END(stub_execveat)
523 523
524#ifdef CONFIG_X86_X32_ABI
525ENTRY(stub_x32_execve)
526 CFI_STARTPROC
527 DEFAULT_FRAME 0, 8
528 call compat_sys_execve
529 jmp return_from_execve
530 CFI_ENDPROC
531END(stub_x32_execve)
532ENTRY(stub_x32_execveat)
533 CFI_STARTPROC
534 DEFAULT_FRAME 0, 8
535 call compat_sys_execveat
536 jmp return_from_execve
537 CFI_ENDPROC
538END(stub_x32_execveat)
539#endif
540
524/* 541/*
525 * sigreturn is special because it needs to restore all registers on return. 542 * sigreturn is special because it needs to restore all registers on return.
526 * This cannot be done with SYSRET, so use the IRET return path instead. 543 * This cannot be done with SYSRET, so use the IRET return path instead.
@@ -555,23 +572,6 @@ ENTRY(stub_x32_rt_sigreturn)
555 jmp return_from_stub 572 jmp return_from_stub
556 CFI_ENDPROC 573 CFI_ENDPROC
557END(stub_x32_rt_sigreturn) 574END(stub_x32_rt_sigreturn)
558
559ENTRY(stub_x32_execve)
560 CFI_STARTPROC
561 DEFAULT_FRAME 0, 8
562 call compat_sys_execve
563 jmp return_from_execve
564 CFI_ENDPROC
565END(stub_x32_execve)
566
567ENTRY(stub_x32_execveat)
568 CFI_STARTPROC
569 DEFAULT_FRAME 0, 8
570 call compat_sys_execveat
571 jmp return_from_execve
572 CFI_ENDPROC
573END(stub_x32_execveat)
574
575#endif 575#endif
576 576
577/* 577/*