arm64: drop linker script hack to hide __efistub_ symbols
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 8 Jan 2019 21:15:49 +0000 (13:15 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Jan 2019 09:01:06 +0000 (10:01 +0100)
commit dd6846d774693bfa27d7db4dae5ea67dfe373fa1 upstream.

Commit 1212f7a16af4 ("scripts/kallsyms: filter arm64's __efistub_
symbols") updated the kallsyms code to filter out symbols with
the __efistub_ prefix explicitly, so we no longer require the
hack in our linker script to emit them as absolute symbols.

Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
[ND: adjusted for context]
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/kernel/image.h

index c7fcb232fe47f372ef10e07a73d5021bfa13590d..40f9f0b078a448e21d99c572fc4468fade221892 100644 (file)
 
 __efistub_stext_offset = stext - _text;
 
-/*
- * Prevent the symbol aliases below from being emitted into the kallsyms
- * table, by forcing them to be absolute symbols (which are conveniently
- * ignored by scripts/kallsyms) rather than section relative symbols.
- * The distinction is only relevant for partial linking, and only for symbols
- * that are defined within a section declaration (which is not the case for
- * the definitions below) so the resulting values will be identical.
- */
-#define KALLSYMS_HIDE(sym)     ABSOLUTE(sym)
-
 /*
  * The EFI stub has its own symbol namespace prefixed by __efistub_, to
  * isolate it from the kernel proper. The following symbols are legally
@@ -94,27 +84,27 @@ __efistub_stext_offset = stext - _text;
  * linked at. The routines below are all implemented in assembler in a
  * position independent manner
  */
-__efistub_memcmp               = KALLSYMS_HIDE(__pi_memcmp);
-__efistub_memchr               = KALLSYMS_HIDE(__pi_memchr);
-__efistub_memcpy               = KALLSYMS_HIDE(__pi_memcpy);
-__efistub_memmove              = KALLSYMS_HIDE(__pi_memmove);
-__efistub_memset               = KALLSYMS_HIDE(__pi_memset);
-__efistub_strlen               = KALLSYMS_HIDE(__pi_strlen);
-__efistub_strnlen              = KALLSYMS_HIDE(__pi_strnlen);
-__efistub_strcmp               = KALLSYMS_HIDE(__pi_strcmp);
-__efistub_strncmp              = KALLSYMS_HIDE(__pi_strncmp);
-__efistub___flush_dcache_area  = KALLSYMS_HIDE(__pi___flush_dcache_area);
+__efistub_memcmp               = __pi_memcmp;
+__efistub_memchr               = __pi_memchr;
+__efistub_memcpy               = __pi_memcpy;
+__efistub_memmove              = __pi_memmove;
+__efistub_memset               = __pi_memset;
+__efistub_strlen               = __pi_strlen;
+__efistub_strnlen              = __pi_strnlen;
+__efistub_strcmp               = __pi_strcmp;
+__efistub_strncmp              = __pi_strncmp;
+__efistub___flush_dcache_area  = __pi___flush_dcache_area;
 
 #ifdef CONFIG_KASAN
-__efistub___memcpy             = KALLSYMS_HIDE(__pi_memcpy);
-__efistub___memmove            = KALLSYMS_HIDE(__pi_memmove);
-__efistub___memset             = KALLSYMS_HIDE(__pi_memset);
+__efistub___memcpy             = __pi_memcpy;
+__efistub___memmove            = __pi_memmove;
+__efistub___memset             = __pi_memset;
 #endif
 
-__efistub__text                        = KALLSYMS_HIDE(_text);
-__efistub__end                 = KALLSYMS_HIDE(_end);
-__efistub__edata               = KALLSYMS_HIDE(_edata);
-__efistub_screen_info          = KALLSYMS_HIDE(screen_info);
+__efistub__text                        = _text;
+__efistub__end                 = _end;
+__efistub__edata               = _edata;
+__efistub_screen_info          = screen_info;
 
 #endif