kernel_samsung_a53x/arch
Peter Zijlstra 169950cfb4 x86/mm: Fix pti_clone_pgtable() alignment assumption
[ Upstream commit 41e71dbb0e0a0fe214545fe64af031303a08524c ]

Guenter reported dodgy crashes on an i386-nosmp build using GCC-11
that had the form of endless traps until entry stack exhaust and then
#DF from the stack guard.

It turned out that pti_clone_pgtable() had alignment assumptions on
the start address, notably it hard assumes start is PMD aligned. This
is true on x86_64, but very much not true on i386.

These assumptions can cause the end condition to malfunction, leading
to a 'short' clone. Guess what happens when the user mapping has a
short copy of the entry text?

Use the correct increment form for addr to avoid alignment
assumptions.

Fixes: 16a3fe634f6a ("x86/mm/pti: Clone kernel-image on PTE level for 32 bit")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20240731163105.GG33588@noisy.programming.kicks-ass.net
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:20:21 +01:00
..
alpha Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arc ARC: [plat-hsdk]: Remove misplaced interrupt-cells property 2024-11-19 11:32:36 +01:00
arm ARM: spitz: fix GPIO assignment for backlight 2024-11-23 23:20:06 +01:00
arm64 Added KernelSU 2024-11-19 22:44:48 +01:00
c6x Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
csky csky, hexagon: fix broken sys_sync_file_range 2024-11-19 14:19:34 +01:00
h8300 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hexagon hexagon: fix fadvise64_64 calling conventions 2024-11-19 14:19:34 +01:00
ia64 efi: ia64: move IA64-only declarations to new asm/efi.h header 2024-11-19 14:19:45 +01:00
m68k m68k: amiga: Turn off Warp1260 interrupts during boot 2024-11-23 23:20:13 +01:00
microblaze microblaze: Remove early printk call from cpuinfo-static.c 2024-11-19 12:27:04 +01:00
mips MIPS: SMP-CPS: Fix address for GCR_ACCESS register for CM3 and later 2024-11-23 23:20:17 +01:00
nds32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nios2 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
openrisc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
parisc parisc: use correct compat recv/recvfrom syscalls 2024-11-19 14:19:32 +01:00
powerpc powerpc/configs: Update defconfig with now user-visible CONFIG_FSL_IFC 2024-11-23 23:20:18 +01:00
riscv riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error() 2024-11-23 23:20:20 +01:00
s390 s390: Mark psw in __load_psw_mask() as __unitialized 2024-11-19 14:19:44 +01:00
sh Revert "sh: Handle calling csum_partial with misaligned data" 2024-11-19 12:26:56 +01:00
sparc sparc64: Fix incorrect function signature and add prototype for prom_cif_init 2024-11-23 23:20:10 +01:00
um um: time-travel: fix time-travel-start option 2024-11-23 23:20:16 +01:00
x86 x86/mm: Fix pti_clone_pgtable() alignment assumption 2024-11-23 23:20:21 +01:00
xtensa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig cpu: Re-enable CPU mitigations by default for !X86 architectures 2024-11-19 11:32:38 +01:00