aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/platform/efi/efi_stub_64.S
diff options
context:
space:
mode:
authorArvind Sankar <nivedita@alum.mit.edu>2020-01-03 12:39:48 +0100
committerIngo Molnar <mingo@kernel.org>2020-01-10 18:55:04 +0100
commit14b864f4b5c402fe1ca394042beeea6fdf54f8f5 (patch)
tree9d5a3b3acd34f3eb4e84b7739cf1b8810129dd9c /arch/x86/platform/efi/efi_stub_64.S
parentefi/x86: Remove unreachable code in kexec_enter_virtual_mode() (diff)
downloadlinux-dev-14b864f4b5c402fe1ca394042beeea6fdf54f8f5.tar.xz
linux-dev-14b864f4b5c402fe1ca394042beeea6fdf54f8f5.zip
efi/x86: Check number of arguments to variadic functions
On x86 we need to thunk through assembler stubs to call the EFI services for mixed mode, and for runtime services in 64-bit mode. The assembler stubs have limits on how many arguments it handles. Introduce a few macros to check that we do not try to pass too many arguments to the stubs. Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Matthew Garrett <mjg59@google.com> Cc: linux-efi@vger.kernel.org Link: https://lkml.kernel.org/r/20200103113953.9571-16-ardb@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/platform/efi/efi_stub_64.S')
-rw-r--r--arch/x86/platform/efi/efi_stub_64.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/platform/efi/efi_stub_64.S b/arch/x86/platform/efi/efi_stub_64.S
index e7e1020f4ccb..15da118f04f0 100644
--- a/arch/x86/platform/efi/efi_stub_64.S
+++ b/arch/x86/platform/efi/efi_stub_64.S
@@ -10,7 +10,7 @@
#include <linux/linkage.h>
#include <asm/nospec-branch.h>
-SYM_FUNC_START(efi_call)
+SYM_FUNC_START(__efi_call)
pushq %rbp
movq %rsp, %rbp
and $~0xf, %rsp
@@ -24,4 +24,4 @@ SYM_FUNC_START(efi_call)
CALL_NOSPEC %rdi
leave
ret
-SYM_FUNC_END(efi_call)
+SYM_FUNC_END(__efi_call)