aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/boot/compressed/string.c')
-rw-r--r--arch/x86/boot/compressed/string.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/x86/boot/compressed/string.c b/arch/x86/boot/compressed/string.c
index 19dbbcdd1a53..81fc1eaa3229 100644
--- a/arch/x86/boot/compressed/string.c
+++ b/arch/x86/boot/compressed/string.c
@@ -11,7 +11,7 @@
11#include "../string.c" 11#include "../string.c"
12 12
13#ifdef CONFIG_X86_32 13#ifdef CONFIG_X86_32
14static void *__memcpy(void *dest, const void *src, size_t n) 14static void *____memcpy(void *dest, const void *src, size_t n)
15{ 15{
16 int d0, d1, d2; 16 int d0, d1, d2;
17 asm volatile( 17 asm volatile(
@@ -25,7 +25,7 @@ static void *__memcpy(void *dest, const void *src, size_t n)
25 return dest; 25 return dest;
26} 26}
27#else 27#else
28static void *__memcpy(void *dest, const void *src, size_t n) 28static void *____memcpy(void *dest, const void *src, size_t n)
29{ 29{
30 long d0, d1, d2; 30 long d0, d1, d2;
31 asm volatile( 31 asm volatile(
@@ -56,7 +56,7 @@ void *memmove(void *dest, const void *src, size_t n)
56 const unsigned char *s = src; 56 const unsigned char *s = src;
57 57
58 if (d <= s || d - s >= n) 58 if (d <= s || d - s >= n)
59 return __memcpy(dest, src, n); 59 return ____memcpy(dest, src, n);
60 60
61 while (n-- > 0) 61 while (n-- > 0)
62 d[n] = s[n]; 62 d[n] = s[n];
@@ -71,5 +71,11 @@ void *memcpy(void *dest, const void *src, size_t n)
71 warn("Avoiding potentially unsafe overlapping memcpy()!"); 71 warn("Avoiding potentially unsafe overlapping memcpy()!");
72 return memmove(dest, src, n); 72 return memmove(dest, src, n);
73 } 73 }
74 return __memcpy(dest, src, n); 74 return ____memcpy(dest, src, n);
75} 75}
76
77#ifdef CONFIG_KASAN
78extern void *__memset(void *s, int c, size_t n) __alias(memset);
79extern void *__memmove(void *dest, const void *src, size_t n) __alias(memmove);
80extern void *__memcpy(void *dest, const void *src, size_t n) __alias(memcpy);
81#endif