Unverified Commit 084deff8 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!354 [OLK-5.10] machine check safe review issue modification

parents 85f9b137 525213f1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -36,8 +36,8 @@ extern void *memcpy(void *, const void *, __kernel_size_t);
extern void *__memcpy(void *, const void *, __kernel_size_t);

#define __HAVE_ARCH_MEMCPY_MC
extern unsigned long *memcpy_mcs(void *, const void *, __kernel_size_t);
extern unsigned long *__memcpy_mcs(void *, const void *, __kernel_size_t);
extern unsigned long memcpy_mcs(void *, const void *, __kernel_size_t);
extern unsigned long __memcpy_mcs(void *, const void *, __kernel_size_t);

#define __HAVE_ARCH_MEMMOVE
extern void *memmove(void *, const void *, __kernel_size_t);
+12 −0
Original line number Diff line number Diff line
@@ -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.