linux/arch/s390/include/asm
Heiko Carstens 7f8073cfb0 s390/ptrace: Fix pointer dereferencing in regs_get_kernel_stack_nth()
The recent change which added READ_ONCE_NOCHECK() to read the nth entry
from the kernel stack incorrectly dropped dereferencing of the stack
pointer in order to read the requested entry.

In result the address of the entry is returned instead of its content.

Dereference the pointer again to fix this.

Reported-by: Will Deacon <will@kernel.org>
Closes: https://lore.kernel.org/r/20250612163331.GA13384@willie-the-truck
Fixes: d93a855c31 ("s390/ptrace: Avoid KASAN false positives in regs_get_kernel_stack_nth()")
Cc: stable@vger.kernel.org
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2025-06-17 18:15:25 +02:00
..
trace s390/hiperdispatch: Add trace events 2024-08-29 22:56:35 +02:00
vdso s390/vdso: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
Kbuild arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
abs_lowcore.h s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
access-regs.h s390/acrs: cleanup access register handling 2024-02-12 15:03:33 +01:00
airq.h
alternative.h s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
ap.h s390/chsc: use notifier for AP configuration changes 2024-04-09 17:29:55 +02:00
appldata.h s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
arch_hweight.h s390: Use MARCH_HAS_*_FEATURES defines 2024-09-07 17:12:42 +02:00
archrandom.h
asce.h s390/mm: Reimplement lazy ASCE handling 2025-04-14 11:23:21 +02:00
asm-const.h
asm-extable.h s390/uaccess: Shorten raw_copy_from_user() / raw_copy_to_user() inline assemblies 2025-03-04 17:18:03 +01:00
asm-prototypes.h s390/expoline: Make modules use kernel expolines 2024-04-17 13:38:03 +02:00
asm.h s390: Rename GCC_ASM_FLAG_OUTPUT_BROKEN to CC_ASM_FLAG_OUTPUT_BROKEN 2025-01-26 17:24:04 +01:00
atomic.h s390/atomic: Provide arch_atomic_*_and_test() implementations 2024-12-15 16:19:03 +01:00
atomic_ops.h s390/atomic_ops: Let __atomic_add_const() variants always return void 2025-03-04 17:34:04 +01:00
barrier.h s390: Use MARCH_HAS_*_FEATURES defines 2024-09-07 17:12:42 +02:00
bitops.h s390/bitops: Disable arch_test_bit() optimization for PROFILE_ALL_BRANCHES 2025-02-11 19:35:08 +01:00
boot_data.h s390/boot: Add timestamps to early boot messages 2025-01-26 17:24:02 +01:00
bug.h s390/bug: remove entry size from __bug_table section 2024-02-14 13:50:53 +01:00
cache.h
ccwdev.h driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
ccwgroup.h
checksum.h s390: Remove superfluous new lines from inline assemblies 2024-12-15 16:19:03 +01:00
chpid.h
chsc.h s390/chsc: use notifier for AP configuration changes 2024-04-09 17:29:55 +02:00
cio.h s390/virtio_ccw: use DMA handle from DMA API 2024-03-13 09:23:46 +01:00
clocksource.h
clp.h
cmb.h
cmpxchg.h s390/cmpxchg: Provide arch_try_cmpxchg128() 2024-11-12 14:01:28 +01:00
compat.h
cpacf.h s390/cpacf: Rework cpacf_pcc() to return condition code 2025-05-17 10:49:21 +02:00
cpcmd.h
cpu.h
cpu_mf-insn.h
cpu_mf.h s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
cpufeature.h watchdog: diag288_wdt: Implement module autoload 2025-04-16 09:26:49 +02:00
cputime.h
crw.h
css_chars.h s390/qdio: Rename feature flag aif_osa to aif_qdio 2025-01-03 11:00:53 +01:00
ctlreg.h s390/wti: Introduce infrastructure for warning track interrupt 2024-08-29 22:56:34 +02:00
current.h s390/current: Implement current with inline assembly 2025-03-18 17:13:04 +01:00
dat-bits.h s390/kvm: Move bitfields for dat tables 2024-07-10 19:50:45 +02:00
debug.h s390/pci: Add pci_msg debug view to PCI report 2024-12-16 16:14:27 +01:00
delay.h
diag.h s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
diag288.h watchdog: diag288_wdt: Implement module autoload 2025-04-16 09:26:49 +02:00
dis.h
dma-types.h s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support 2024-03-13 09:23:49 +01:00
dma.h
dwarf.h s390/vdso: Add CFI for RA register to asm macro vdso_func 2024-04-26 16:22:38 +02:00
eadm.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
ebcdic.h s390/ebcdic: Fix length decrement in codepage_convert() 2025-01-13 09:50:18 +01:00
elf.h s390: Remove 2k vs 4k page table leftovers 2025-03-18 17:13:05 +01:00
entry-common.h randomize_kstack: Remove non-functional per-arch entropy filtering 2024-06-28 08:54:56 -07:00
exec.h
extable.h
extmem.h s390/boot: Consider DCSS segments on memory layout setup 2024-04-17 13:37:59 +02:00
facility.h s390/facilities: Fix warning about shadow of global variable 2024-10-10 15:32:43 +02:00
fault.h
fcx.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
fprobe.h fprobe: Add fprobe_header encoding feature 2024-12-26 10:50:05 -05:00
fpu-insn-asm.h s390/vdso: Wire up getrandom() vdso implementation 2024-09-13 20:57:31 +02:00
fpu-insn.h s390/fpu: Use CONFIG_CC_HAS_ASM_AOR_FORMAT_FLAGS instead of CONFIG_CC_IS_CLANG 2025-01-26 17:24:05 +01:00
fpu-types.h s390/checksum: provide vector register variant of csum_partial() 2024-02-16 14:30:17 +01:00
fpu.h s390/vx: Convert cpu_has_vx() to cpu feature function 2025-03-04 17:18:07 +01:00
ftrace.h s390/tracing: Define ftrace_get_symaddr() for s390 2025-01-29 15:12:40 +01:00
ftrace.lds.h
futex.h s390/mm: Reimplement lazy ASCE handling 2025-04-14 11:23:21 +02:00
gmap.h KVM: s390: Refactor and split some gmap helpers 2025-05-28 17:48:04 +02:00
gmap_helpers.h KVM: s390: Refactor and split some gmap helpers 2025-05-28 17:48:04 +02:00
hardirq.h s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
hiperdispatch.h s390/hiperdispatch: Introduce hiperdispatch 2024-08-29 22:56:35 +02:00
hugetlb.h s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
hw_irq.h
idals.h s390/cio,idal: fix virtual vs physical address confusion 2024-03-13 09:23:47 +01:00
idle.h
io.h - The 6 patch series "Enable strict percpu address space checks" from 2025-04-01 09:29:18 -07:00
ipl.h
irq.h s390/net: Remove LCS driver 2025-02-05 18:19:01 -08:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irqflags.h s390/irqflags: do not instrument arch_local_irq_*() with KMSAN 2024-07-03 19:30:25 -07:00
isc.h
itcw.h
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kasan.h
kdebug.h
kexec.h s390/kdump: Provide is_kdump_kernel() implementation 2024-10-25 16:03:23 +02:00
kfence.h s390/kfence: Split kfence pool into 4k mappings in arch_kfence_init_pool() 2025-03-18 17:13:05 +01:00
kmsan.h s390/kmsan: Fix merge conflict with get_lowcore() introduction 2024-07-23 16:01:51 +02:00
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm_host.h s390/kvm: Split kvm_host header file 2025-03-31 12:20:39 +02:00
kvm_host_types.h s390/kvm: Split kvm_host header file 2025-03-31 12:20:39 +02:00
kvm_para.h
linkage.h
lowcore.h s390/lowcore: Remove unused machine_flags 2025-03-31 12:20:39 +02:00
maccess.h
machine.h watchdog: diag288_wdt: Implement module autoload 2025-04-16 09:26:49 +02:00
march.h s390: Allow to compile with z17 optimizations 2025-04-09 12:12:41 +02:00
mem_encrypt.h
mmu.h s390: Remove 2k vs 4k page table leftovers 2025-03-18 17:13:05 +01:00
mmu_context.h s390/mm: Select ARCH_WANT_IRQS_OFF_ACTIVATE_MM 2025-04-14 11:23:21 +02:00
module.h s390/module: Provide find_section() helper 2024-09-13 17:28:36 +02:00
msi.h
nmi.h
nospec-branch.h s390: always declare expoline thunks 2025-05-22 08:40:56 -07:00
nospec-insn.h s390/expoline: Make modules use kernel expolines 2024-04-17 13:38:03 +02:00
numa.h
os_info.h s390/os_info: Fix array size in struct os_info 2024-04-29 17:33:29 +02:00
page-states.h s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
page.h s390/mm: Add configurable STRICT_MM_TYPECHECKS 2025-03-11 15:27:34 +01:00
pai.h s390/pai: Convert to use flag output macros 2024-11-13 14:31:32 +01:00
pci.h pci-v6.15-changes 2025-03-28 19:36:53 -07:00
pci_clp.h s390/pci: check for relaxed translation capability 2025-02-21 12:01:57 +01:00
pci_debug.h
pci_dma.h iommu/s390: allow larger region tables 2025-04-17 16:43:12 +02:00
pci_insn.h
pci_io.h s390/pci: Align prototypes of zpci IO memcpy functions 2024-10-16 11:33:06 +02:00
percpu.h s390: Use MARCH_HAS_*_FEATURES defines 2024-09-07 17:12:42 +02:00
perf_event.h Performance events changes for v6.13: 2024-11-19 13:34:06 -08:00
pfault.h
pgalloc.h mm: pass mm down to pagetable_{pte,pmd}_ctor 2025-05-11 17:48:21 -07:00
pgtable.h mm: pgtable: fix pte_swp_exclusive 2025-06-11 14:52:08 -07:00
physmem_info.h s390/boot: Add physmem tracking debug support 2025-01-26 17:24:02 +01:00
pkey.h s390/pkey/crypto: Introduce xflags param for pkey in-kernel API 2025-04-30 11:34:03 +02:00
pnet.h
preempt.h s390/preempt: Optimize __preempt_count_dec_and_test() 2024-12-15 16:19:03 +01:00
processor.h s390/processor: Use bitop functions for cpu flag helper functions 2025-03-31 12:20:39 +02:00
ptrace.h s390/ptrace: Fix pointer dereferencing in regs_get_kernel_stack_nth() 2025-06-17 18:15:25 +02:00
purgatory.h
qdio.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
runtime-const.h s390: Add runtime constant support 2024-07-23 15:54:58 +02:00
runtime_instr.h
rwonce.h
schid.h
sclp.h s390/tlb: Convert MACHINE_HAS_TLB_GUEST to machine_has_tlb_guest() 2025-03-04 17:18:06 +01:00
scsw.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
seccomp.h
sections.h
set_memory.h - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
setup.h s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
signal.h
sigp.h s390/smp: Convert to use flag output macros 2024-11-13 14:31:32 +01:00
smp.h s390/smp: Implement raw_smp_processor_id() with inline assembly 2025-03-18 17:13:04 +01:00
softirq_stack.h s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
sparsemem.h s390/sparsemem: Provide phys_to_target_node() with CONFIG_NUMA 2024-11-07 10:33:44 +01:00
spinlock.h s390/spinlock: Implement SPINLOCK_LOCKVAL with inline assembly 2025-03-18 17:13:04 +01:00
spinlock_types.h Improve consistency of '#error' directive messages 2024-11-11 17:17:04 -08:00
stacktrace.h s390/entry: Pass the asce as parameter to sie64a() 2024-07-10 19:50:45 +02:00
stp.h s390/time: Add PtP driver 2024-10-30 17:02:39 -07:00
string.h s390/string: Remove strcpy() implementation 2025-04-30 11:41:28 +02:00
syscall.h syscall.h: introduce syscall_set_nr() 2025-05-11 17:48:15 -07:00
syscall_wrapper.h posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
sysinfo.h s390/sysinfo: Move stsi() to header file 2025-03-04 17:18:07 +01:00
text-patching.h
thread_info.h s390/thread_info: Cleanup header includes 2025-05-17 10:55:00 +02:00
timex.h s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
tlb.h Generic: 2025-06-02 12:24:58 -07:00
tlbflush.h s390/tlb: Convert MACHINE_HAS_TLB_GUEST to machine_has_tlb_guest() 2025-03-04 17:18:06 +01:00
topology.h s390/smp: Add support for HOTPLUG_SMT 2025-03-31 12:20:39 +02:00
tpi.h
types.h
uaccess.h s390/mm: Reimplement lazy ASCE handling 2025-04-14 11:23:21 +02:00
unistd.h clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
unwind.h
uprobes.h
user.h
uv.h Generic: 2025-06-02 12:24:58 -07:00
vdso-symbols.h s390/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
vdso.h s390/vdso: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
vmalloc.h
vmlinux.lds.h
vtime.h s390/vtime: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
vtimer.h
word-at-a-time.h s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
xor.h