diff options
author | Alex Shi <alex.shi@linaro.org> | 2016-06-28 14:57:31 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-06-28 14:57:31 +0800 |
commit | 43c981bd2d8af8d91726be1fac389cdce47dce1e (patch) | |
tree | 6e43e9f36b31fa7dfc1a73e1bb8145e15699383c /arch/arm64/kernel/image.h | |
parent | ecda003d45d780d790c7006b727ae56981a75013 (diff) | |
parent | 07d9bf00133c330cd7c2bc9689f529c2bd0b64d0 (diff) |
Merge branch 'v4.1/topic/KASAN' into linux-linaro-lsk-v4.1linux-linaro-lsk-v4.1-test
Diffstat (limited to 'arch/arm64/kernel/image.h')
-rw-r--r-- | arch/arm64/kernel/image.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h index 8fae0756e175..6eb8fee93321 100644 --- a/arch/arm64/kernel/image.h +++ b/arch/arm64/kernel/image.h @@ -59,4 +59,37 @@ _kernel_offset_le = DATA_LE64(TEXT_OFFSET); \ _kernel_flags_le = DATA_LE64(__HEAD_FLAGS); +#ifdef CONFIG_EFI + +/* + * The EFI stub has its own symbol namespace prefixed by __efistub_, to + * isolate it from the kernel proper. The following symbols are legally + * accessed by the stub, so provide some aliases to make them accessible. + * Only include data symbols here, or text symbols of functions that are + * guaranteed to be safe when executed at another offset than they were + * linked at. The routines below are all implemented in assembler in a + * position independent manner + */ +__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_strcmp = __pi_strcmp; +__efistub_strncmp = __pi_strncmp; +__efistub___flush_dcache_area = __pi___flush_dcache_area; + +#ifdef CONFIG_KASAN +__efistub___memcpy = __pi_memcpy; +__efistub___memmove = __pi_memmove; +__efistub___memset = __pi_memset; +#endif + +__efistub__text = _text; +__efistub__end = _end; +__efistub__edata = _edata; + +#endif + #endif /* __ASM_IMAGE_H */ |