linux/arch/s390/kernel
Sven Schnelle 0f5940176a s390/ipl: Clear SBP flag when bootprog is set
commit b1aa01d312 upstream.

With z16 a new flag 'search boot program' was introduced for
list-directed IPL (SCSI, NVMe, ECKD DASD). If this flag is set,
e.g. via selecting the "Automatic" value for the "Boot program
selector" control on an HMC load panel, it is copied to the reipl
structure from the initial ipl structure. When a user now sets a
boot prog via sysfs, the flag is not cleared and the bootloader
will again automatically select the boot program, ignoring user
configuration.

To avoid that, clear the SBP flag when a bootprog sysfs file is
written.

Cc: stable@vger.kernel.org
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-02 12:57:25 +01:00
..
diag s390: Remove superfluous newlines from inline assemblies 2025-09-29 13:52:08 +02:00
syscalls fs: introduce file_getattr and file_setattr syscalls 2025-07-02 17:05:17 +02:00
vdso32 s390/vdso: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
vdso64 s390/vdso: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
abs_lowcore.c s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
alternative.c s390/alternatives: Add debug functionality 2025-03-04 17:18:08 +01:00
asm-offsets.c arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-09-25 09:57:15 +02:00
audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
audit.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.c s390/cache: prevent rebuild of shared_cpu_list 2024-03-07 14:41:15 +01:00
cert_store.c s390: Remove optional third argument of strscpy() if possible 2025-04-17 15:16:10 +02:00
compat_audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
compat_linux.c s390: use generic UID16 implementation 2019-01-18 09:33:18 +01:00
compat_linux.h s390/compat: cleanup compat_linux.h header file 2022-05-06 20:45:16 +02:00
compat_ptrace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
compat_signal.c s390/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
cpacf.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
cpcmd.c s390/cpcmd: Convert to use flag output macros 2024-11-13 14:31:32 +01:00
cpufeature.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
crash_dump.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ctlreg.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
debug.c s390/debug: Replace kmalloc() + copy_from_user() with memdup_user_nul() 2025-09-09 15:03:12 +02:00
dis.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
dumpstack.c s390/asm-offsets: Remove ASM_OFFSETS_C 2025-03-31 12:20:39 +02:00
early.c kasan: call kasan_init_generic in kasan_init 2025-09-21 14:21:58 -07:00
early_printk.c s390/early: Dump register contents and call trace for early crashes 2024-08-22 19:28:11 +02:00
ebcdic.c s390/ebcdic: fix typo in comment 2023-07-27 13:11:35 +02:00
entry.h s390/traps: Change stack overflow message 2025-03-04 17:34:03 +01:00
entry.S stackleak: Rename STACKLEAK to KSTACK_ERASE 2025-07-21 21:35:01 -07:00
facility.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
fpu.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ftrace.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
ftrace.h s390/ftrace: Remove unused ftrace_plt_template* 2024-08-27 20:16:48 +02:00
guarded_storage.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
head64.S s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
hiperdispatch.c s390: Replace use of system_wq with system_dfl_wq 2025-09-25 14:28:58 +02:00
idle.c s390/idle: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
ima_arch.c s390/kexec_file: Disable kexec_load when IPLed secure 2019-04-29 10:44:03 +02:00
ipl.c s390/ipl: Clear SBP flag when bootprog is set 2026-01-02 12:57:25 +01:00
ipl_vmparm.c s390/cio: remove unused include linux/spinlock.h from cio.h 2021-07-27 09:39:13 +02:00
irq.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kdebugfs.c s390: no need to check return value of debugfs_create functions 2019-01-28 15:58:55 +01:00
kexec_elf.c s390: kexec: initialize kexec_buf struct 2025-09-03 17:10:37 -07:00
kexec_image.c s390: kexec: initialize kexec_buf struct 2025-09-03 17:10:37 -07:00
kprobes.c s390/cpufeature: Convert MACHINE_HAS_SEQ_INSN to cpu_has_seq_insn() 2025-03-04 17:18:04 +01:00
lgr.c s390: kernel: convert timeouts to use secs_to_jiffies() 2025-01-12 20:21:01 -08:00
machine_kexec.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
machine_kexec_file.c s390: kexec: initialize kexec_buf struct 2025-09-03 17:10:37 -07:00
machine_kexec_reloc.c s390/kaslr: add support for R_390_JMP_SLOT relocation type 2020-05-20 10:13:27 +02:00
Makefile s390/skey: Provide infrastructure for executing with non-default access key 2025-06-29 13:12:02 +02:00
mcount.S s390/tracing: Enable HAVE_FTRACE_GRAPH_FUNC 2024-12-26 10:50:05 -05:00
module.c arch: make execmem setup available regardless of CONFIG_MODULES 2024-05-14 00:31:44 -07:00
nmi.c s390/nmi: Print additional information 2025-06-26 15:30:51 +02:00
nospec-branch.c s390/nospec: Push down alternative handling 2024-07-23 16:02:31 +02:00
nospec-sysfs.c s390/nospec: Switch over to sysfs_emit() 2024-10-25 16:03:24 +02:00
numa.c mm/memblock: add memblock_alloc_or_panic interface 2025-01-25 20:22:38 -08:00
os_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
perf_cpum_cf.c s390/cpum_cf: Deny all sampling events by counter PMU 2025-08-28 16:47:58 +02:00
perf_cpum_cf_events.c s390/cpumf: Adjust number of leading zeroes for z15 attributes 2025-04-30 11:32:20 +02:00
perf_cpum_sf.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
perf_event.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
perf_pai_crypto.c more s390 updates for 6.18 merge window 2025-10-09 10:51:43 -07:00
perf_pai_ext.c s390/pai: Deny all events not handled by this PMU 2025-08-28 16:47:58 +02:00
perf_regs.c s390/fpu: remove anonymous union from struct fpu 2024-02-16 14:30:16 +01:00
process.c arch: copy_thread: pass clone_flags as u64 2025-09-01 15:31:34 +02:00
processor.c s390: Simple strcpy() to strscpy() conversions 2025-04-30 11:41:27 +02:00
ptrace.c s390/ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:48 -07:00
reipl.S s390/kdump: Make kdump ready for lowcore relocation 2024-07-23 16:02:32 +02:00
relocate_kernel.S s390/relocate_kernel: adjust indentation 2023-04-19 17:24:18 +02:00
rethook.c s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
rethook.h s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
runtime_instr.c s390/runtime_instrumentation: fix storage key handling 2020-08-17 13:17:10 +02:00
setup.c s390: Remove superfluous newlines from inline assemblies 2025-09-29 13:52:08 +02:00
signal.c s390/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
skey.c s390: Remove superfluous newlines from inline assemblies 2025-09-29 13:52:08 +02:00
smp.c s390/smp: Fix fallback CPU detection 2025-12-18 14:02:36 +01:00
stacktrace.c s390/asm-offsets: Remove ASM_OFFSETS_C 2025-03-31 12:20:39 +02:00
sthyi.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
syscall.c s390: Remove 2k vs 4k page table leftovers 2025-03-18 17:13:05 +01:00
sysinfo.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
text_amode31.S s390/amode31: Use exrl instead of ex 2025-01-13 09:50:17 +01:00
time.c s390/stp: Default to enabled 2025-07-21 12:41:56 +02:00
topology.c sched/fair: Get rid of sched_domains_curr_level hack for tl->cpumask() 2025-09-03 10:03:12 +02:00
trace.c s390/ftrace: fix potential crashes when switching tracers 2020-04-22 16:20:55 +02:00
traps.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
unwind_bc.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
uprobes.c s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
uv.c more s390 updates for 6.18 merge window 2025-10-09 10:51:43 -07:00
vdso.c mseal sysmap: enable s390 2025-04-01 15:17:16 -07:00
vmcore_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
vmlinux.lds.S s390/vmlinux.lds.S: Move .vmlinux.info to end of allocatable sections 2025-10-10 10:22:08 -07:00
vtime.c s390/vtime: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
wti.c s390/wti: Add debugfs file to display missed grace periods per cpu 2024-08-29 22:56:35 +02:00