hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I6AQE8 CVE: NA
-------------------------------
The function memcpy_mcs() is designed to copy in memory and should be supported by kasan.
Signed-off-by: Tong Tiangen tongtiangen@huawei.com --- mm/kasan/common.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/mm/kasan/common.c b/mm/kasan/common.c index f8cd1e20b6c6..592eeba0a787 100644 --- a/mm/kasan/common.c +++ b/mm/kasan/common.c @@ -109,6 +109,18 @@ void *memcpy(void *dest, const void *src, size_t len) return __memcpy(dest, src, len); }
+#ifdef __HAVE_ARCH_MEMCPY_MC +#undef memcpy_mcs +unsigned long memcpy_mcs(void *dest, const void *src, size_t len) +{ + if (!check_memory_region((unsigned long)src, len, false, _RET_IP_) || + !check_memory_region((unsigned long)dest, len, true, _RET_IP_)) + return (unsigned long)len; + + return __memcpy_mcs(dest, src, len); +} +#endif + /* * Poisons the shadow memory for 'size' bytes starting from 'addr'. * Memory addresses should be aligned to KASAN_SHADOW_SCALE_SIZE.