OpenCloudOS-Kernel/arch/s390/kernel
Heiko Carstens d543a106f9 s390: fix initrd corruptions with gcov/kcov instrumented kernels
The early C code within arch/s390/kernel/early.c saves ipl parameters
before the bss section is cleared. When doing that it jumps to code
that is potentially gcov/kcov instrumented. That code in turn will
corrupt an initrd that potentially may reside in the not yet ready to
be used bss section.

Instead of excluding more and more code from gcov/kcov instrumentation
provide an early memmove function which will be used to save ipl
parameters. The verification if these parameters are actually valid
will be done later.

Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-12-12 12:11:20 +01:00
..
vdso32 s390/time: steer clocksource on STP sync events 2016-10-28 10:09:02 +02:00
vdso64 s390/time: steer clocksource on STP sync events 2016-10-28 10:09:02 +02:00
.gitignore s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
Makefile s390: exclude early C code from gcov profiling 2016-12-12 12:10:15 +01:00
als.c s390/als: print missing facilities on facility mismatch 2016-07-31 05:27:59 -04:00
asm-offsets.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
audit.c
audit.h
base.S s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
cache.c s390/cpuinfo: show dynamic and static cpu mhz 2016-06-13 15:58:17 +02:00
compat_audit.c
compat_linux.c cred: simpler, 1D supplementary groups 2016-10-07 18:46:30 -07:00
compat_linux.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
compat_wrapper.c s390: wire up copy_file_range syscall 2016-01-19 12:14:02 +01:00
cpcmd.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
crash_dump.c s390/crashdump: use list_first_entry_or_null 2016-09-20 14:26:04 +02:00
debug.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
diag.c - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
dis.c s390/disassambler: use pr_cont where appropriate 2016-10-17 14:44:32 +02:00
dumpstack.c s390/dumpstack: use pr_cont within show_stack and die 2016-10-24 10:26:14 +02:00
early.c s390: fix initrd corruptions with gcov/kcov instrumented kernels 2016-12-12 12:11:20 +01:00
ebcdic.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
entry.S s390: remove unused labels from entry.S 2016-12-12 12:04:26 +01:00
entry.h s390/als: convert architecture level set code to C 2016-07-31 05:27:58 -04:00
fpu.c s390/fpu: improve kernel_fpu_[begin|end] 2016-08-29 11:05:01 +02:00
ftrace.c ftrace: Add return address pointer to ftrace_ret_stack 2016-08-24 12:15:14 +02:00
head.S s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
head64.S s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
head_kdump.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
idle.c s390/idle: convert open coded idle time seqcount 2014-12-08 09:42:32 +01:00
ipl.c s390: fix initrd corruptions with gcov/kcov instrumented kernels 2016-12-12 12:11:20 +01:00
irq.c s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
jump_label.c Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-03 15:46:07 -07:00
kprobes.c s390: migrate exception table users off module.h and onto extable.h 2016-09-20 14:26:38 +02:00
lgr.c s390: kernel: make lgr explicitly non-modular 2016-10-31 17:55:42 +01:00
machine_kexec.c s390/kexec: fix crash on resize of reserved memory 2016-06-13 15:58:19 +02:00
mcount.S s390: move exports to definitions 2016-08-07 23:47:20 -04:00
module.c module: s390: keep mod_arch_specific for livepatch modules 2016-04-01 15:00:11 +02:00
nmi.c s390/nmi: improve revalidation of fpu / vector registers 2016-08-29 11:05:03 +02:00
os_info.c s390/dump: streamline oldmem copy functions 2015-11-27 09:24:12 +01:00
perf_cpum_cf.c s390/perf: Convert the hotplug notifier to state machine callbacks (Counter) 2016-07-14 09:34:37 +02:00
perf_cpum_cf_events.c s390/cpum_cf: Export event names in sysfs 2013-12-16 14:37:50 +01:00
perf_cpum_sf.c s390/cpumf: simplify psw generation 2016-11-23 16:02:22 +01:00
perf_event.c s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
pgm_check.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
process.c s390: move cputime accounting fields from thread_info to thread_struct 2016-11-11 16:37:43 +01:00
processor.c s390/cpuinfo: show maximum thread id 2016-07-04 09:25:20 +02:00
ptrace.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
reipl.S s390/dump: rework CPU register dump code 2015-11-27 09:24:14 +01:00
relocate_kernel.S s390: remove "64" suffix from a couple of files 2015-03-25 11:49:34 +01:00
runtime_instr.c s390: remove runtime instrumentation interrupts 2015-11-03 14:40:51 +01:00
sclp.c s390/sclp: move uninitialized data to data section 2016-07-31 05:27:58 -04:00
setup.c s390/numa: establish cpu to node mapping early 2016-12-07 07:23:25 +01:00
signal.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
smp.c s390/smp: initialize cpu_present_mask in setup_arch 2016-12-07 07:23:07 +01:00
stacktrace.c s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
suspend.c PCI: Include <linux/pci.h>, not <asm/pci.h> 2015-06-08 07:55:03 -05:00
swsusp.S s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
sys_s390.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
syscalls.S s390: wire up preadv2/pwritev2 syscalls 2016-04-01 08:42:38 +02:00
sysinfo.c s390/sysinfo: show partition extended name and UUID if available 2016-12-07 12:29:47 +01:00
time.c s390/time: fix clocksource steering for negative clock offsets 2016-11-17 06:56:38 +01:00
topology.c s390/numa: establish cpu to node mapping early 2016-12-07 07:23:25 +01:00
trace.c s390/diag: avoid lockdep recursion 2016-02-11 13:05:56 +01:00
traps.c s390: migrate exception table users off module.h and onto extable.h 2016-09-20 14:26:38 +02:00
uprobes.c s390/uprobes: fix address space annotation 2015-03-25 11:49:47 +01:00
vdso.c vdso: make arch_setup_additional_pages wait for mmap_sem for write killable 2016-05-23 17:04:14 -07:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
vtime.c s390: move cputime accounting fields from thread_info to thread_struct 2016-11-11 16:37:43 +01:00