9ffa2f8193
CONFIG_FORTIFY_SOURCE=y is already set in the generic kernel configuration, but it is not working for MIPS on kernel 5.4, support for MIPS was only added with kernel 5.5, other architectures like aarch64 support FORTIFY_SOURCE already since some time. This patch adds support for FORTIFY_SOURCE to MIPS with kernel 5.4, kernel 5.10 already supports this and needs no changes. This backports one patch from kernel 5.5 and one fix from 5.8 to make fortify source also work on our kernel 5.4. The changes are not compatible with the 306-mips_mem_functions_performance.patch patch which was also removed with kernel 5.10, probably because of the same problems. I think it is not needed anyway as the compiler should automatically optimize the calls to memset(), memcpy() and memmove() even when not explicitly telling the compiler to use the build in variant. This increases the size of an uncompressed kernel by less than 1 KB. Acked-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From 31ca877744d95713e4925de542e1c686ab08a542 Mon Sep 17 00:00:00 2001
|
|
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
|
|
Date: Sat, 27 Feb 2021 13:20:24 +0100
|
|
Subject: [PATCH] MIPS: select CPU_MIPS64 for remaining MIPS64 CPUs
|
|
|
|
The CPU_MIPS64 and CPU_MIPS32 variables are supposed to be able to
|
|
distinguish broadly between 64-bit and 32-bit MIPS CPUs. However, they
|
|
weren't selected by the specialty CPUs, Octeon and Loongson, which meant
|
|
it was possible to hit a weird state of:
|
|
|
|
MIPS=y, CONFIG_64BIT=y, CPU_MIPS64=n
|
|
|
|
This commit rectifies the issue by having CPU_MIPS64 be selected when
|
|
the missing Octeon or Loongson models are selected.
|
|
|
|
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|
Cc: Ralf Baechle <ralf@linux-mips.org>
|
|
Cc: George Cherian <gcherian@marvell.com>
|
|
Cc: Huacai Chen <chenhuacai@kernel.org>
|
|
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
---
|
|
arch/mips/Kconfig | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/arch/mips/Kconfig
|
|
+++ b/arch/mips/Kconfig
|
|
@@ -2037,7 +2037,8 @@ config CPU_MIPS32
|
|
|
|
config CPU_MIPS64
|
|
bool
|
|
- default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
|
|
+ default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 || \
|
|
+ CPU_LOONGSON64 || CPU_CAVIUM_OCTEON
|
|
|
|
#
|
|
# These indicate the revision of the architecture
|