diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2021-04-03 20:02:54 +0200 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-05-14 23:32:22 +0200 |
commit | f49d4aebe207ff951de54debecccfd85f78cf83a (patch) | |
tree | a7e5a1bfa17650359413171f1f7cbfc967352a7b /target/linux/ramips/patches-5.4 | |
parent | c99f03749365c9887ca05c502e68979a2b495d1e (diff) | |
download | upstream-f49d4aebe207ff951de54debecccfd85f78cf83a.tar.gz upstream-f49d4aebe207ff951de54debecccfd85f78cf83a.tar.bz2 upstream-f49d4aebe207ff951de54debecccfd85f78cf83a.zip |
kernel: Activate FORTIFY_SOURCE for MIPS kernel 5.4
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>
(cherry picked from commit 9ffa2f8193a43b9044fcfd0e16b204e989b0d941)
Diffstat (limited to 'target/linux/ramips/patches-5.4')
-rw-r--r-- | target/linux/ramips/patches-5.4/0122-mips-ralink-enable-zboot-support.patch | 2 | ||||
-rw-r--r-- | target/linux/ramips/patches-5.4/105-mt7621-memory-detect.patch | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/ramips/patches-5.4/0122-mips-ralink-enable-zboot-support.patch b/target/linux/ramips/patches-5.4/0122-mips-ralink-enable-zboot-support.patch index 76615ed491..34617898c8 100644 --- a/target/linux/ramips/patches-5.4/0122-mips-ralink-enable-zboot-support.patch +++ b/target/linux/ramips/patches-5.4/0122-mips-ralink-enable-zboot-support.patch @@ -16,7 +16,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -625,6 +625,7 @@ config RALINK +@@ -626,6 +626,7 @@ config RALINK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_MIPS16 diff --git a/target/linux/ramips/patches-5.4/105-mt7621-memory-detect.patch b/target/linux/ramips/patches-5.4/105-mt7621-memory-detect.patch index 08b4b0de29..277d2aa43c 100644 --- a/target/linux/ramips/patches-5.4/105-mt7621-memory-detect.patch +++ b/target/linux/ramips/patches-5.4/105-mt7621-memory-detect.patch @@ -71,13 +71,13 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com> + phys_addr_t size; + + for (size = 32 * SZ_1M; size < 256 * SZ_1M; size <<= 1) { -+ if (!memcmp(dm, dm + size, sizeof(detect_magic))) ++ if (!__builtin_memcmp(dm, dm + size, sizeof(detect_magic))) + break; + } + + if ((size == 256 * SZ_1M) && + (CPHYSADDR(dm + size) < MT7621_LOWMEM_MAX_SIZE) && -+ memcmp(dm, dm + size, sizeof(detect_magic))) { ++ __builtin_memcmp(dm, dm + size, sizeof(detect_magic))) { + add_memory_region(MT7621_LOWMEM_BASE, MT7621_LOWMEM_MAX_SIZE, + BOOT_MEM_RAM); + add_memory_region(MT7621_HIGHMEM_BASE, MT7621_HIGHMEM_SIZE, |