linux_dsm_epyc7002/arch/mips
Alexander Lobakin c8c2b27ab3 MIPS: relocatable: fix possible boot hangup with KASLR enabled
commit 69e976831cd53f9ba304fd20305b2025ecc78eab upstream.

LLVM-built Linux triggered a boot hangup with KASLR enabled.

arch/mips/kernel/relocate.c:get_random_boot() uses linux_banner,
which is a string constant, as a random seed, but accesses it
as an array of unsigned long (in rotate_xor()).
When the address of linux_banner is not aligned to sizeof(long),
such access emits unaligned access exception and hangs the kernel.

Use PTR_ALIGN() to align input address to sizeof(long) and also
align down the input length to prevent possible access-beyond-end.

Fixes: 405bc8fd12 ("MIPS: Kernel: Implement KASLR using CONFIG_RELOCATABLE")
Cc: stable@vger.kernel.org # 4.7+
Signed-off-by: Alexander Lobakin <alobakin@pm.me>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-19 18:27:20 +01:00
..
alchemy MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu 2020-11-17 12:53:57 +01:00
ar7 MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
ath25 MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
ath79 MIPS: ath79: Remove unused include <asm/mips_machine.h> 2020-07-28 10:20:44 +02:00
bcm47xx MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA 2020-12-30 11:53:09 +01:00
bcm63xx MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
bmips dma-direct: rename and cleanup __phys_to_dma 2020-09-11 09:14:43 +02:00
boot MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB 2021-01-19 18:27:20 +01:00
cavium-octeon MIPS updates for v5.10: 2020-10-16 12:40:55 -07:00
cobalt MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
configs MIPS: Loongson64: Select SMP in Kconfig to avoid build error 2020-10-12 11:22:40 +02:00
crypto crypto: {arm,arm64,mips}/poly1305 - remove redundant non-reduction from emit 2020-01-16 15:18:12 +08:00
dec MIPS: DEC: Restore bootmem reservation for firmware working memory area 2020-10-14 23:57:57 +02:00
fw MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
generic MIPS: Ingenic: Add system type for new Ingenic SoCs. 2020-09-27 10:57:27 +02:00
include local64.h: make <asm/local64.h> mandatory 2021-01-12 20:18:16 +01:00
ingenic MIPS: jz4740: Rename jz4740 folders to ingenic 2020-09-18 16:35:05 +02:00
jazz dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
kernel MIPS: relocatable: fix possible boot hangup with KASLR enabled 2021-01-19 18:27:20 +01:00
kvm KVM: MIPS: clean up redundant kvm_run parameters in assembly 2020-09-28 07:57:21 -04:00
lantiq MIPS: lantiq: add missing GPHY clock aliases for ar10 and grx390 2020-08-17 13:01:07 +02:00
lib mips: lib: uncached: fix non-standard usage of variable 'sp' 2021-01-19 18:27:20 +01:00
loongson2ef MIPS updates for v5.10: 2020-10-16 12:40:55 -07:00
loongson32 MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
loongson64 MIPS updates for v5.10: 2020-10-16 12:40:55 -07:00
math-emu MIPS: Use fallthrough for arch/mips 2020-05-07 11:55:47 +02:00
mm mips: fix Section mismatch in reference 2021-01-19 18:27:20 +01:00
mti-malta MIPS: malta: remove mach-malta/malta-dtshim.h header file 2020-09-21 22:16:47 +02:00
net MIPS: BPF: Use sizeof_field() instead of FIELD_SIZEOF() 2020-01-10 11:33:35 -08:00
netlogic MIPS updates for v5.10: 2020-10-16 12:40:55 -07:00
oprofile mips/oprofile: Fix fallthrough placement 2020-08-22 09:23:15 +02:00
pci MIPS updates for v5.10: 2020-10-16 12:40:55 -07:00
pic32 MIPS: Only include the platform file needed 2020-05-13 00:17:18 +02:00
pistachio MIPS: Fix exception handler memcpy() 2020-05-24 09:15:54 +02:00
power mips: check for dsp presence only once before save/restore 2019-10-07 10:58:53 -07:00
ralink MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
rb532 MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
sgi-ip22 MIPS: Only include the platform file needed 2020-05-13 00:17:18 +02:00
sgi-ip27 mm/sparse: cleanup the code surrounding memory_present() 2020-08-07 11:33:27 -07:00
sgi-ip30 MIPS: SGI-IP30: Move irq bits to better header files 2020-09-21 22:15:49 +02:00
sgi-ip32 MIPS updates for v5.10: 2020-10-16 12:40:55 -07:00
sibyte MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
sni MIPS: SNI: Fix spurious interrupts 2020-09-16 22:40:58 +02:00
tools MIPS: tools: Fix resource leak in elf-entry.c 2020-05-24 09:29:48 +02:00
txx9 MIPS: replace add_memory_region with memblock 2020-10-12 12:01:36 +02:00
vdso kbuild: explicitly specify the build id style 2020-10-09 23:57:30 +09:00
vr41xx MIPS: Fix builds for VR41xx platforms 2020-05-15 09:09:58 +02:00
Kbuild MIPS: Fix "make clean" error due to recent changes 2020-05-13 13:20:22 +02:00
Kbuild.platforms MIPS: generic: Add support for Ingenic SoCs 2020-09-18 16:33:59 +02:00
Kconfig Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-22 09:59:21 -07:00
Kconfig.debug mips: Add CPS_NS16550_WIDTH config 2020-05-22 09:12:52 +02:00
Makefile mips: Add MIPS Warrior P5600 support 2020-05-22 09:10:53 +02:00
Makefile.postlink MIPS: fix indentation of the 'RELOCS' message 2020-01-20 15:37:30 -08:00