Skip to content

Commit d95ef31

Browse files
committed
lkl: explicitly uses asan mem* functions when kasan is enabled
Otherwise host memcpy can be used and bypasses kasan interceptors. Unclear why the tests are passing in CI most of the time without this fix. They do fail reliably on my local environment. Signed-off-by: Octavian Purdila <[email protected]>
1 parent bba15fc commit d95ef31

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

arch/lkl/include/asm/string.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,16 @@ static inline void *__memmove(void *dest, const void *src, size_t count)
5151

5252
#else /* __SANITIZE_ADDRESS__ */
5353

54-
#undef memcpy
54+
void *__asan_memset(void *addr, int c, ssize_t len);
55+
void *__asan_memmove(void *dest, const void *src, ssize_t len);
56+
void *__asan_memcpy(void *dest, const void *src, ssize_t len);
57+
5558
#undef memset
59+
#define memset(s, c, n) __asan_memset(s, c, n)
5660
#undef memmove
61+
#define memmove(dst, src, len) __asan_memmove(dst, src, len)
62+
#undef memcpy
63+
#define memcpy(dst, src, len) __asan_memcpy(dst, src, len)
5764

5865
#endif /* __SANITIZE_ADDRESS__ */
5966

0 commit comments

Comments
 (0)