linux-stable/arch
Russell Currey a66c556e48 powerpc/64: Fix booting large kernels with STRICT_KERNEL_RWX
[ Upstream commit 56c46bba9b ]

With STRICT_KERNEL_RWX enabled anything marked __init is placed at a 16M
boundary.  This is necessary so that it can be repurposed later with
different permissions.  However, in kernels with text larger than 16M,
this pushes early_setup past 32M, incapable of being reached by the
branch instruction.

Fix this by setting the CTR and branching there instead.

Fixes: 1e0fc9d1eb ("powerpc/Kconfig: Enable STRICT_KERNEL_RWX for some configs")
Signed-off-by: Russell Currey <ruscur@russell.cc>
[mpe: Fix it to work on BE by using DOTSYM()]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:47:25 -07:00
..
alpha alpha: Fix Eiger NR_IRQS to 128 2019-02-20 10:20:53 +01:00
arc arc: hsdk_defconfig: Enable CONFIG_BLK_DEV_RAM 2019-04-20 09:14:59 +02:00
arm ARM: vdso: Remove dependency with the arch_timer driver internals 2019-05-31 06:47:18 -07:00
arm64 arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable 2019-05-31 06:47:18 -07:00
blackfin
c6x
cris bug.h: work around GCC PR82365 in BUG() 2018-05-30 07:52:00 +02:00
frv
h8300 h8300: use cc-cross-prefix instead of hardcoding h8300-unknown-linux- 2019-04-05 22:31:25 +02:00
hexagon hexagon: modify ffs() and fls() to return int 2018-10-10 08:54:25 +02:00
ia64 ia64/err-inject: Use get_user_pages_fast() 2018-05-30 07:52:11 +02:00
m32r
m68k m68k: Add -ffreestanding to CFLAGS 2019-03-23 14:35:21 +01:00
metag
microblaze microblaze: Fix simpleImage format generation 2018-08-03 07:50:40 +02:00
mips MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit 2019-05-16 19:42:25 +02:00
mn10300
nios2
openrisc openrisc: entry: Fix delay slot exception detection 2018-08-24 13:09:11 +02:00
parisc parisc: Rename LEVEL to PA_ASM_LEVEL to avoid name clash with DRBD code 2019-05-25 18:25:18 +02:00
powerpc powerpc/64: Fix booting large kernels with STRICT_KERNEL_RWX 2019-05-31 06:47:25 -07:00
s390 s390/speculation: Fix build error caused by bad backport 2019-05-16 19:42:35 +02:00
score
sh sh: fix multiple function definition build errors 2019-05-08 07:20:51 +02:00
sparc sparc64: Make corrupted user stacks more debuggable. 2019-05-16 19:42:25 +02:00
tile
um um: Avoid marking pages with "changed protection" 2019-02-12 19:46:08 +01:00
unicore32
x86 x86/mm: Remove in_nmi() warning from 64-bit implementation of vmalloc_fault() 2019-05-31 06:47:24 -07:00
xtensa xtensa: xtfpga.dtsi: fix dtc warnings about SPI 2019-05-16 19:42:30 +02:00
.gitignore
Kconfig compiler.h: Allow arch-specific asm/compiler.h 2018-11-04 14:52:46 +01:00