diff options
| author | Fangrui Song <[email protected]> | 2020-11-03 01:23:58 +0000 |
|---|---|---|
| committer | Borislav Petkov <[email protected]> | 2020-11-04 11:30:20 +0000 |
| commit | 4d6ffa27b8e5116c0abb318790fd01d4e12d75e6 (patch) | |
| tree | 9b362f4f1dd5ea23b82b6a0a2a9ecac51360a4f3 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | |
| parent | Linux 5.10-rc2 (diff) | |
| download | kernel-4d6ffa27b8e5116c0abb318790fd01d4e12d75e6.tar.gz kernel-4d6ffa27b8e5116c0abb318790fd01d4e12d75e6.zip | |
x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
Commit
393f203f5fd5 ("x86_64: kasan: add interceptors for memset/memmove/memcpy functions")
added .weak directives to arch/x86/lib/mem*_64.S instead of changing the
existing ENTRY macros to WEAK. This can lead to the assembly snippet
.weak memcpy
...
.globl memcpy
which will produce a STB_WEAK memcpy with GNU as but STB_GLOBAL memcpy
with LLVM's integrated assembler before LLVM 12. LLVM 12 (since
https://reviews.llvm.org/D90108) will error on such an overridden symbol
binding.
Commit
ef1e03152cb0 ("x86/asm: Make some functions local")
changed ENTRY in arch/x86/lib/memcpy_64.S to SYM_FUNC_START_LOCAL, which
was ineffective due to the preceding .weak directive.
Use the appropriate SYM_FUNC_START_WEAK instead.
Fixes: 393f203f5fd5 ("x86_64: kasan: add interceptors for memset/memmove/memcpy functions")
Fixes: ef1e03152cb0 ("x86/asm: Make some functions local")
Reported-by: Sami Tolvanen <[email protected]>
Signed-off-by: Fangrui Song <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Reviewed-by: Nick Desaulniers <[email protected]>
Tested-by: Nathan Chancellor <[email protected]>
Tested-by: Nick Desaulniers <[email protected]>
Cc: <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
0 files changed, 0 insertions, 0 deletions
