From 06fe42167e0d6adc58d6fcba24ed97e6102dd47b Mon Sep 17 00:00:00 2001 From: Jens Wiklander Date: Tue, 3 Oct 2017 08:09:34 +0200 Subject: core: asan: provide asan_memcpy_unchecked() Provides asan_memcpy_unchecked() which does a memcpy() that isn't checked against the tagging in the ASAN shadow area. If ASAN isn't enabled it's replaced by a direct call to memcpy(). Reviewed-by: Etienne Carriere Signed-off-by: Jens Wiklander --- core/kernel/asan.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'core/kernel') diff --git a/core/kernel/asan.c b/core/kernel/asan.c index c1008887..fe34d57c 100644 --- a/core/kernel/asan.c +++ b/core/kernel/asan.c @@ -158,6 +158,19 @@ void *asan_memset_unchecked(void *s, int c, size_t n) return s; } +void *asan_memcpy_unchecked(void *__restrict dst, const void *__restrict src, + size_t len) +{ + uint8_t *__restrict d = dst; + const uint8_t *__restrict s = src; + size_t n; + + for (n = 0; n < len; n++) + d[n] = s[n]; + + return dst; +} + void asan_start(void) { assert(asan_va_base && !asan_active); -- cgit v1.2.3