linux-stable/arch/s390/kernel
Heiko Carstens e6ed91fd07 s390/alternatives: remove padding generation code
clang fails to handle ".if" statements in inline assembly which are heavily
used in the alternatives code.

To work around this remove this code, and enforce that users of
alternatives must specify original and alternative instruction sequences
which have identical sizes. Add a compile time check with two ".org"
statements similar to arm64.

In result not only clang can handle this, but also quite a lot of code can
be removed.

Acked-by: Vasily Gorbik <gor@linux.ibm.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1356
Link: https://lore.kernel.org/r/20220511120532.2228616-3-hca@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-05-17 15:16:28 +02:00
..
syscalls arch: syscalls: simplify uapi/kapi directory creation 2022-03-31 12:03:46 +09:00
vdso32 s390/vdso: remove -nostdlib compiler flag 2021-11-16 12:29:19 +01:00
vdso64 s390/vdso: filter out -mstack-guard and -mstack-size 2021-11-16 12:29:19 +01:00
.gitignore
alternative.c s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
asm-offsets.c s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
audit.h
base.S s390/base: pass pt_regs to early program check handler 2022-03-08 00:33:00 +01:00
cache.c s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
compat_audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
compat_linux.c
compat_linux.h s390/compat: cleanup compat_linux.h header file 2022-05-06 20:45:16 +02:00
compat_ptrace.h
compat_signal.c s390/signal: fix typo in comments 2022-03-08 00:33:01 +01:00
cpcmd.c s390/cpcmd: use physical address for command and response 2021-10-26 15:21:28 +02:00
crash_dump.c s390/maccess: fix semantics of memcpy_real() and its callers 2022-02-09 22:56:04 +01:00
debug.c s390/sclp: add tracing of SCLP interactions 2021-08-25 11:03:35 +02:00
diag.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
dis.c s390/disassembler: update opcode table 2021-12-16 19:58:07 +01:00
dumpstack.c exit: Add and use make_task_dead. 2021-12-13 12:04:45 -06:00
early.c s390/extable: add and use fixup_exception helper function 2022-03-08 00:33:00 +01:00
early_printk.c
ebcdic.c
entry.h s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
entry.S s390/alternatives: provide identical sized orginal/alternative sequences 2022-05-17 15:16:28 +02:00
fpu.c s390: convert to generic entry 2021-01-19 12:29:26 +01:00
ftrace.c s390: convert ".insn" encoding to instruction names 2022-03-10 15:58:17 +01:00
ftrace.h s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
guarded_storage.c
head64.S s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
idle.c s390/time,idle: get rid of unsigned long long 2021-03-08 10:46:27 +01:00
ima_arch.c
ipl.c s390/maccess: rework absolute lowcore accessors 2022-03-27 22:18:39 +02: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/irq: utilize RCU instead of irq_lock_sparse() in show_msi_interrupt() 2022-04-27 12:53:34 +02:00
jump_label.c s390/jump_label: add __init_or_module annotation 2021-10-11 20:55:58 +02:00
kdebugfs.c
kexec_elf.c
kexec_image.c
kprobes.c s390/kprobes: enable kretprobes framepointer verification 2022-03-27 22:18:39 +02:00
kprobes_insn_page.S
lgr.c s390/lgr: use simple assignment instead of memcpy 2022-02-06 23:31:29 +01:00
machine_kexec.c s390/kexec: set end-of-ipl flag in last diag308 call 2022-04-25 13:54:12 +02:00
machine_kexec_file.c s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() 2021-12-10 16:12:34 +01:00
machine_kexec_reloc.c
Makefile s390/pai: add support for cryptography counters 2022-05-09 11:50:01 +02:00
mcount.S s390/kprobes: Avoid additional kprobe in kretprobe handling 2022-03-10 15:58:17 +01:00
module.c Merge branch 'akpm' (patches from Andrew) 2022-03-25 10:21:20 -07:00
nmi.c s390/pai: add support for cryptography counters 2022-05-09 11:50:01 +02:00
nospec-branch.c s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
nospec-sysfs.c s390: introduce nospec_uses_trampoline() 2021-10-26 15:21:29 +02:00
numa.c drivers/base/node: consolidate node device subsystem initialization in node_dev_init() 2022-03-22 15:57:10 -07:00
os_info.c s390/maccess: rework absolute lowcore accessors 2022-03-27 22:18:39 +02:00
perf_cpum_cf.c s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
perf_cpum_cf_common.c s390/cpumf: Support for CPU Measurement Facility CSVN 7 2022-01-17 14:13:08 +01:00
perf_cpum_cf_events.c s390/cpumf: add new extended counter set for IBM z16 2022-05-16 10:58:33 +02:00
perf_cpum_sf.c s390/cpumf: Support for CPU Measurement Sampling Facility LS bit 2022-01-17 14:13:08 +01:00
perf_event.c s390: Get rid of oprofile leftovers 2021-04-22 13:32:39 +01:00
perf_pai_crypto.c s390/pai: add support for cryptography counters 2022-05-09 11:50:01 +02:00
perf_regs.c
process.c s390/exit: remove dead reference to do_exit from copy_thread 2021-12-16 19:58:06 +01:00
processor.c s390: add z16 elf platform 2022-04-06 13:08:50 +02:00
ptrace.c ptrace: Cleanups for v5.18 2022-03-28 17:29:53 -07:00
reipl.S
relocate_kernel.S s390/kexec: set end-of-ipl flag in last diag308 call 2022-04-25 13:54:12 +02:00
runtime_instr.c
setup.c s390/smp: sort out physical vs virtual CPU0 lowcore pointer 2022-04-25 13:54:13 +02:00
signal.c ptrace: Cleanups for v5.18 2022-03-28 17:29:53 -07:00
smp.c s390/smp: use physical address for SIGP_SET_PREFIX command 2022-03-27 22:18:39 +02:00
stacktrace.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
sthyi.c s390/sthyi: use register pair instead of register asm 2021-06-18 16:41:22 +02:00
syscall.c s390: add support for BEAR enhancement facility 2021-10-26 15:21:29 +02:00
sysinfo.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
text_amode31.S s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
time.c s390/stp: clock_delta should be signed 2022-05-11 14:40:57 +02:00
topology.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
trace.c
traps.c s390/traps: improve panic message for translation-specification exception 2022-03-27 22:18:38 +02:00
unwind_bc.c s390/unwind: avoid duplicated unwinding entries for kretprobes 2022-03-27 22:18:39 +02:00
uprobes.c s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
uv.c s390/uv: fix memblock virtual vs physical address confusion 2021-12-16 19:58:07 +01:00
vdso.c s390/vdso: add vdso randomization 2022-04-25 13:54:15 +02:00
vmlinux.lds.S s390: remove .fixup section 2022-03-08 00:33:01 +01:00
vtime.c s390: assume stckf is always present 2022-03-10 15:58:17 +01:00