]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
s390/Kconfig: Define non-zero ILLEGAL_POINTER_VALUE
authorGerd Bayer <gbayer@linux.ibm.com>
Fri, 16 Jan 2026 15:02:42 +0000 (16:02 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Tue, 27 Jan 2026 11:21:20 +0000 (12:21 +0100)
commit0d453ba04044bb1b0df366d4a0a9098481f14621
tree384dd457d59de5df6c9e16d6e317308eb83b0331
parent0875816a58d855d674305a7330c44d25ce27dca2
s390/Kconfig: Define non-zero ILLEGAL_POINTER_VALUE

Define CONFIG_ILLEGAL_POINTER_VALUE to the eye-catching non-zero value
of 0xdead000000000000, consistent with other architectures. Assert at
compile-time that the poison pointers that include/linux/poison.h
defines based on this illegal pointer are beyond the largest useful
virtual addresses. Also, assert at compile-time that the range of poison
pointers per include/linux/poison.h (currently a range of less than
0x10000 addresses) does not overlap with the range used for address
handles for s390's non-MIO PCI instructions.

This enables s390 to track the DMA mappings by the network stack's
page_pool that was introduced with [0]. Other functional changes are not
intended.

Other archictectures have introduced this for various other reasons with
commit 5c178472af24 ("riscv: define ILLEGAL_POINTER_VALUE for 64bit")
commit f6853eb561fb ("powerpc/64: Define ILLEGAL_POINTER_VALUE for 64-bit")
commit bf0c4e047324 ("arm64: kconfig: Move LIST_POISON to a safe value")
commit a29815a333c6 ("core, x86: make LIST_POISON less deadly")

[0] https://lore.kernel.org/all/20250409-page-pool-track-dma-v9-0-6a9ef2e0cba8@redhat.com/

Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Documentation/arch/s390/mm.rst
arch/s390/Kconfig
arch/s390/boot/startup.c
arch/s390/include/asm/pci_io.h
arch/s390/pci/pci.c