mips: Kconfig: Add ARCH_HAS_FORTIFY_SOURCE
authorDmitry Korotin <dkorotin@wavecomp.com>
Thu, 12 Sep 2019 22:53:45 +0000 (22:53 +0000)
committerPaul Burton <paul.burton@mips.com>
Mon, 7 Oct 2019 16:45:49 +0000 (09:45 -0700)
FORTIFY_SOURCE detects various overflows at compile and run time.
(6974f0c4555e ("include/linux/string.h:
add the option of fortified string.h functions)

ARCH_HAS_FORTIFY_SOURCE means that the architecture can be built and
run with CONFIG_FORTIFY_SOURCE.

Since mips can be built and run with that flag,
select ARCH_HAS_FORTIFY_SOURCE as default.

Signed-off-by: Dmitry Korotin <dkorotin@wavecomp.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
arch/mips/Kconfig
arch/mips/include/asm/string.h

index 3ef8f8a..41d2517 100644 (file)
@@ -7,6 +7,7 @@ config MIPS
        select ARCH_CLOCKSOURCE_DATA
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAS_UBSAN_SANITIZE_ALL
+       select ARCH_HAS_FORTIFY_SOURCE
        select ARCH_SUPPORTS_UPROBES
        select ARCH_USE_BUILTIN_BSWAP
        select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
index 29030cb..4b938c5 100644 (file)
@@ -10,6 +10,7 @@
 #ifndef _ASM_STRING_H
 #define _ASM_STRING_H
 
+#if !defined(__OPTIMIZE__) || !defined(CONFIG_FORTIFY_SOURCE)
 
 /*
  * Most of the inline functions are rather naive implementations so I just
@@ -130,6 +131,7 @@ strncmp(__const__ char *__cs, __const__ char *__ct, size_t __count)
        return __res;
 }
 #endif /* CONFIG_32BIT */
+#endif /* !defined(__OPTIMIZE__) || !defined(CONFIG_FORTIFY_SOURCE) */
 
 #define __HAVE_ARCH_MEMSET
 extern void *memset(void *__s, int __c, size_t __count);