aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/lib/strncmp.S
diff options
context:
space:
mode:
authorAndrey Ryabinin <[email protected]>2018-10-26 15:02:30 -0700
committerLinus Torvalds <[email protected]>2018-10-26 16:25:18 -0700
commit19a2ca0fb560fd7be7b5293c6b652c6d6078dcde (patch)
treec4ed897c25ef86a5b04565027e6f7e65ff3d7f45 /arch/arm64/lib/strncmp.S
parent74f213ea25b99fddcf34cbe07dabdb01136bcd86 (diff)
arm64: lib: use C string functions with KASAN enabled
ARM64 has asm implementation of memchr(), memcmp(), str[r]chr(), str[n]cmp(), str[n]len(). KASAN don't see memory accesses in asm code, thus it can potentially miss many bugs. Ifdef out __HAVE_ARCH_* defines of these functions when KASAN is enabled, so the generic implementations from lib/string.c will be used. We can't just remove the asm functions because efistub uses them. And we can't have two non-weak functions either, so declare the asm functions as weak. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Andrey Ryabinin <[email protected]> Reported-by: Kyeongdon Kim <[email protected]> Cc: Alexander Potapenko <[email protected]> Cc: Ard Biesheuvel <[email protected]> Cc: Dmitry Vyukov <[email protected]> Cc: Mark Rutland <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'arch/arm64/lib/strncmp.S')
-rw-r--r--arch/arm64/lib/strncmp.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/lib/strncmp.S b/arch/arm64/lib/strncmp.S
index e267044761c6..66bd145935d9 100644
--- a/arch/arm64/lib/strncmp.S
+++ b/arch/arm64/lib/strncmp.S
@@ -64,7 +64,7 @@ limit_wd .req x13
mask .req x14
endloop .req x15
-ENTRY(strncmp)
+WEAK(strncmp)
cbz limit, .Lret0
eor tmp1, src1, src2
mov zeroones, #REP8_01