linux/arch/s390
Heiko Carstens fc09726c92 s390/smp: Fix fallback CPU detection
[ Upstream commit 07a75d08cf ]

In case SCLP CPU detection does not work a fallback mechanism using SIGP is
in place. Since a cleanup this does not work correctly anymore: new CPUs
are only considered if their type matches the boot CPU.

Before the cleanup the information if a CPU type should be considered was
also part of a structure generated by the fallback mechanism and indicated
that a CPU type should not be considered when adding CPUs.

Since the rework a global SCLP state is used instead. If the global SCLP
state indicates that the CPU type should be considered and the fallback
mechanism is used, there may be a mismatch with CPU types if CPUs are
added. This can lead to a system with only a single CPU even tough there
are many more CPUs.

Address this by simply copying the boot cpu type into the generated data
structure from the fallback mechanism.

Reported-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Fixes: d08d94306e ("s390/smp: cleanup core vs. cpu in the SCLP interface")
Reviewed-by: Mete Durlu <meted@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-01-19 13:09:24 +01:00
..
appldata s390/appldata: use struct_size() helper 2020-06-29 16:32:34 +02:00
boot s390/boot: Remove alt_stfle_fac_list from decompressor 2024-06-16 13:39:41 +02:00
configs s390: update defconfigs 2021-09-15 14:29:21 +02:00
crypto crypto: s390/aes - Fix buffer overread in CTR mode 2024-02-23 08:54:24 +01:00
hypfs s390/hypfs: Enable limited access during lockdown 2025-08-28 16:24:39 +02:00
include s390/time: Use monotonic clock in get_cycles() 2025-08-28 16:24:20 +02:00
kernel s390/smp: Fix fallback CPU detection 2026-01-19 13:09:24 +01:00
kvm KVM: s390: Don't use %pK through tracepoints 2025-05-02 07:44:36 +02:00
lib s390/uaccess: add missing earlyclobber annotations to __clear_user() 2023-04-05 11:25:01 +02:00
mm mm/ptdump: take the memory hotplug lock inside ptdump_walk_pgd() 2025-08-28 16:24:32 +02:00
net s390/bpf: Store backchain even for leaf progs 2025-06-27 11:05:13 +01:00
pci s390/pci: Fix __pcilg_mio_inuser() inline assembly 2025-06-27 11:05:38 +01:00
purgatory arch: back to -std=gnu89 in < v5.18 2025-12-07 06:09:15 +09:00
tools s390/disassembler: add instructions 2021-07-27 09:39:19 +02:00
Kbuild s390/numa: move code to arch/s390/kernel 2020-08-11 18:16:55 +02:00
Kconfig s390: remove unneeded 'select BUILD_BIN2C' 2022-07-07 17:53:27 +02:00
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile Makefile.compiler: replace cc-ifversion with compiler-specific macros 2025-12-07 06:09:32 +09:00