Loading arch/arm64/include/asm/string.h +8 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #ifndef __ASM_STRING_H #define __ASM_STRING_H #ifndef CONFIG_KASAN #define __HAVE_ARCH_STRRCHR extern char *strrchr(const char *, int c); Loading @@ -34,6 +35,13 @@ extern __kernel_size_t strlen(const char *); #define __HAVE_ARCH_STRNLEN extern __kernel_size_t strnlen(const char *, __kernel_size_t); #define __HAVE_ARCH_MEMCMP extern int memcmp(const void *, const void *, size_t); #define __HAVE_ARCH_MEMCHR extern void *memchr(const void *, int, __kernel_size_t); #endif #define __HAVE_ARCH_MEMCPY extern void *memcpy(void *, const void *, __kernel_size_t); extern void *__memcpy(void *, const void *, __kernel_size_t); Loading @@ -42,16 +50,10 @@ extern void *__memcpy(void *, const void *, __kernel_size_t); extern void *memmove(void *, const void *, __kernel_size_t); extern void *__memmove(void *, const void *, __kernel_size_t); #define __HAVE_ARCH_MEMCHR extern void *memchr(const void *, int, __kernel_size_t); #define __HAVE_ARCH_MEMSET extern void *memset(void *, int, __kernel_size_t); extern void *__memset(void *, int, __kernel_size_t); #define __HAVE_ARCH_MEMCMP extern int memcmp(const void *, const void *, size_t); #ifdef CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE #define __HAVE_ARCH_MEMCPY_FLUSHCACHE void memcpy_flushcache(void *dst, const void *src, size_t cnt); Loading arch/arm64/kernel/arm64ksyms.c +5 −2 Original line number Diff line number Diff line Loading @@ -45,20 +45,23 @@ EXPORT_SYMBOL(__arch_copy_in_user); EXPORT_SYMBOL(memstart_addr); /* string / mem functions */ #ifndef CONFIG_KASAN EXPORT_SYMBOL(strchr); EXPORT_SYMBOL(strrchr); EXPORT_SYMBOL(strcmp); EXPORT_SYMBOL(strncmp); EXPORT_SYMBOL(strlen); EXPORT_SYMBOL(strnlen); EXPORT_SYMBOL(memcmp); EXPORT_SYMBOL(memchr); #endif EXPORT_SYMBOL(memset); EXPORT_SYMBOL(memcpy); EXPORT_SYMBOL(memmove); EXPORT_SYMBOL(__memset); EXPORT_SYMBOL(__memcpy); EXPORT_SYMBOL(__memmove); EXPORT_SYMBOL(memchr); EXPORT_SYMBOL(memcmp); /* atomic bitops */ EXPORT_SYMBOL(set_bit); Loading arch/arm64/lib/memchr.S +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ * Returns: * x0 - address of first occurrence of 'c' or 0 */ ENTRY(memchr) WEAK(memchr) and w1, w1, #0xff 1: subs x2, x2, #1 b.mi 2f Loading arch/arm64/lib/memcmp.S +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ pos .req x11 limit_wd .req x12 mask .req x13 ENTRY(memcmp) WEAK(memcmp) cbz limit, .Lret0 eor tmp1, src1, src2 tst tmp1, #7 Loading arch/arm64/lib/strchr.S +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ * Returns: * x0 - address of first occurrence of 'c' or 0 */ ENTRY(strchr) WEAK(strchr) and w1, w1, #0xff 1: ldrb w2, [x0], #1 cmp w2, w1 Loading Loading
arch/arm64/include/asm/string.h +8 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #ifndef __ASM_STRING_H #define __ASM_STRING_H #ifndef CONFIG_KASAN #define __HAVE_ARCH_STRRCHR extern char *strrchr(const char *, int c); Loading @@ -34,6 +35,13 @@ extern __kernel_size_t strlen(const char *); #define __HAVE_ARCH_STRNLEN extern __kernel_size_t strnlen(const char *, __kernel_size_t); #define __HAVE_ARCH_MEMCMP extern int memcmp(const void *, const void *, size_t); #define __HAVE_ARCH_MEMCHR extern void *memchr(const void *, int, __kernel_size_t); #endif #define __HAVE_ARCH_MEMCPY extern void *memcpy(void *, const void *, __kernel_size_t); extern void *__memcpy(void *, const void *, __kernel_size_t); Loading @@ -42,16 +50,10 @@ extern void *__memcpy(void *, const void *, __kernel_size_t); extern void *memmove(void *, const void *, __kernel_size_t); extern void *__memmove(void *, const void *, __kernel_size_t); #define __HAVE_ARCH_MEMCHR extern void *memchr(const void *, int, __kernel_size_t); #define __HAVE_ARCH_MEMSET extern void *memset(void *, int, __kernel_size_t); extern void *__memset(void *, int, __kernel_size_t); #define __HAVE_ARCH_MEMCMP extern int memcmp(const void *, const void *, size_t); #ifdef CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE #define __HAVE_ARCH_MEMCPY_FLUSHCACHE void memcpy_flushcache(void *dst, const void *src, size_t cnt); Loading
arch/arm64/kernel/arm64ksyms.c +5 −2 Original line number Diff line number Diff line Loading @@ -45,20 +45,23 @@ EXPORT_SYMBOL(__arch_copy_in_user); EXPORT_SYMBOL(memstart_addr); /* string / mem functions */ #ifndef CONFIG_KASAN EXPORT_SYMBOL(strchr); EXPORT_SYMBOL(strrchr); EXPORT_SYMBOL(strcmp); EXPORT_SYMBOL(strncmp); EXPORT_SYMBOL(strlen); EXPORT_SYMBOL(strnlen); EXPORT_SYMBOL(memcmp); EXPORT_SYMBOL(memchr); #endif EXPORT_SYMBOL(memset); EXPORT_SYMBOL(memcpy); EXPORT_SYMBOL(memmove); EXPORT_SYMBOL(__memset); EXPORT_SYMBOL(__memcpy); EXPORT_SYMBOL(__memmove); EXPORT_SYMBOL(memchr); EXPORT_SYMBOL(memcmp); /* atomic bitops */ EXPORT_SYMBOL(set_bit); Loading
arch/arm64/lib/memchr.S +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ * Returns: * x0 - address of first occurrence of 'c' or 0 */ ENTRY(memchr) WEAK(memchr) and w1, w1, #0xff 1: subs x2, x2, #1 b.mi 2f Loading
arch/arm64/lib/memcmp.S +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ pos .req x11 limit_wd .req x12 mask .req x13 ENTRY(memcmp) WEAK(memcmp) cbz limit, .Lret0 eor tmp1, src1, src2 tst tmp1, #7 Loading
arch/arm64/lib/strchr.S +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ * Returns: * x0 - address of first occurrence of 'c' or 0 */ ENTRY(strchr) WEAK(strchr) and w1, w1, #0xff 1: ldrb w2, [x0], #1 cmp w2, w1 Loading