kernel_samsung_a53x/arch/powerpc
Michael Ellerman 6a1b30989e powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
[ Upstream commit be140f1732b523947425aaafbe2e37b41b622d96 ]

There is code that builds with calls to IO accessors even when
CONFIG_PCI=n, but the actual calls are guarded by runtime checks.

If not those calls would be faulting, because the page at virtual
address zero is (usually) not mapped into the kernel. As Arnd pointed
out, it is possible a large port value could cause the address to be
above mmap_min_addr which would then access userspace, which would be
a bug.

To avoid any such issues, set _IO_BASE to POISON_POINTER_DELTA. That
is a value chosen to point into unmapped space between the kernel and
userspace, so any access will always fault.

Note that on 32-bit POISON_POINTER_DELTA is 0, so the patch only has an
effect on 64-bit.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240503075619.394467-2-mpe@ellerman.id.au
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 14:19:41 +01:00
..
boot Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
configs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
crypto Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
include powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n 2024-11-19 14:19:41 +01:00
kernel syscalls: fix compat_sys_io_pgetevents_time64 usage 2024-11-19 14:19:34 +01:00
kexec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kvm KVM: use __vcalloc for very large allocations 2024-11-18 12:12:59 +01:00
lib powerpc: xor_vmx: Add '-mhard-float' to CFLAGS 2024-11-19 09:22:41 +01:00
math-emu Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mm powerpc/kasan: Fix addr error caused by page alignment 2024-11-18 12:13:29 +01:00
net Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
oprofile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
perf powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks 2024-11-19 08:44:55 +01:00
platforms file: Rename fcheck lookup_fd_rcu 2024-11-19 12:27:27 +01:00
purgatory Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysdev powerpc/fsl-soc: hide unused const variable 2024-11-19 12:26:57 +01:00
tools Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xmon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kbuild Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig.debug Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.postlink Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00