summary refs log tree commit diff
path: root/arch
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2021-06-16 14:48:19 -0700
committerKees Cook <keescook@chromium.org>2022-02-13 16:50:06 -0800
commit938a000e3f9bead24ea753286b3e4d2423275c9e (patch)
treef3cdcabaea66b2f14b5488b6180cf552814b5aec /arch
parentf68f2ff91512c199ec24883001245912afc17873 (diff)
downloadlinux-938a000e3f9bead24ea753286b3e4d2423275c9e.tar.gz
fortify: Detect struct member overflows in memmove() at compile-time
As done for memcpy(), also update memmove() to use the same tightened
compile-time checks under CONFIG_FORTIFY_SOURCE.

Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/boot/compressed/misc.c3
-rw-r--r--arch/x86/lib/memcpy_32.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index a4339cb2d247..1cdcaf34ee36 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -37,10 +37,11 @@
  * try to define their own functions if these are not defined as macros.
  */
 #define memzero(s, n)	memset((s), 0, (n))
+#ifndef memmove
 #define memmove		memmove
-
 /* Functions used by the included decompressor code below. */
 void *memmove(void *dest, const void *src, size_t n);
+#endif
 
 /*
  * This is set up by the setup-routine at boot-time
diff --git a/arch/x86/lib/memcpy_32.c b/arch/x86/lib/memcpy_32.c
index 3a6e6cfe8c35..ef3af7ff2c8a 100644
--- a/arch/x86/lib/memcpy_32.c
+++ b/arch/x86/lib/memcpy_32.c
@@ -4,6 +4,7 @@
 
 #undef memcpy
 #undef memset
+#undef memmove
 
 __visible void *memcpy(void *to, const void *from, size_t n)
 {