kernel-ark/arch/s390/kernel
Xunlei Pang 203e9e4121 kexec: move vmcoreinfo out of the kernel's .bss section
As Eric said,
 "what we need to do is move the variable vmcoreinfo_note out of the
  kernel's .bss section. And modify the code to regenerate and keep this
  information in something like the control page.

  Definitely something like this needs a page all to itself, and ideally
  far away from any other kernel data structures. I clearly was not
  watching closely the data someone decided to keep this silly thing in
  the kernel's .bss section."

This patch allocates extra pages for these vmcoreinfo_XXX variables, one
advantage is that it enhances some safety of vmcoreinfo, because
vmcoreinfo now is kept far away from other kernel data structures.

Link: http://lkml.kernel.org/r/1493281021-20737-1-git-send-email-xlpang@redhat.com
Signed-off-by: Xunlei Pang <xlpang@redhat.com>
Tested-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Suggested-by: Eric Biederman <ebiederm@xmission.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dave Young <dyoung@redhat.com>
Cc: Hari Bathini <hbathini@linux.vnet.ibm.com>
Cc: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-07-12 16:25:59 -07: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
als.c s390/sclp: don't add new lines to each printed string 2017-02-08 14:13:20 +01:00
asm-offsets.c s390/nmi: s390: New low level handling for machine check happening in guest 2017-06-27 16:05:27 +02:00
audit.c
audit.h
base.S
cache.c
compat_audit.c
compat_linux.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
compat_linux.h
compat_ptrace.h
compat_signal.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
compat_wrapper.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
cpcmd.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
crash_dump.c s390/kdump: Add final note 2017-03-28 16:54:31 +02:00
debug.c s390: convert debug_info.ref_count from atomic_t to refcount_t 2017-05-11 16:35:32 +02:00
diag.c s390/diag: add diag26c support 2017-06-20 15:44:15 -04:00
dis.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
dumpstack.c s390: rename struct psw_bits members 2017-06-12 16:26:02 +02:00
early_printk.c s390/sclp: make early sclp code readable 2017-02-08 14:13:19 +01:00
early.c s390/spinlock: remove compare and delay instruction 2017-04-12 08:43:33 +02:00
ebcdic.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
entry.h s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
entry.S s390,kvm: provide plumbing for machines checks when running guests 2017-06-28 12:57:47 +02:00
fpu.c
ftrace.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-05-16 09:24:44 -07:00
guarded_storage.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
head64.S s390/cpumf: simplify detection of guest samples 2017-04-05 10:11:38 +02:00
head_kdump.S
head.S s390/facilities: get rid of __ASSEMBLY__ in facility header file 2017-03-22 08:29:18 +01:00
idle.c sched/headers: Prepare to move cputime functionality from <linux/sched.h> into <linux/sched/cputime.h> 2017-03-02 08:42:39 +01:00
ipl.c s390/ipl: revert Load Normal semantics for LPAR CCW-type re-IPL 2017-06-14 15:35:31 +02:00
irq.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
jump_label.c s390: Prevent hotplug rwsem recursion 2017-05-26 10:10:46 +02:00
kdebugfs.c s390/debugfs: introduce top-level 's390' directory 2017-03-22 08:29:15 +01:00
kprobes.c s390: Prevent hotplug rwsem recursion 2017-05-26 10:10:46 +02:00
lgr.c s390: kernel: make lgr explicitly non-modular 2016-10-31 17:55:42 +01:00
machine_kexec.c kexec: move vmcoreinfo out of the kernel's .bss section 2017-07-12 16:25:59 -07:00
Makefile s390/debugfs: introduce top-level 's390' directory 2017-03-22 08:29:15 +01:00
mcount.S
module.c s390: add no-execute support 2017-02-08 14:13:25 +01:00
nmi.c KVM: s390: Backup the guest's machine check info 2017-06-27 16:05:38 +02:00
os_info.c s390: proper type casts for csum_partial invocations 2017-01-16 07:27:53 +01:00
perf_cpum_cf_events.c s390/cpum_cf: correct variable naming (cleanup) 2017-03-31 07:53:33 +02:00
perf_cpum_cf.c s390/cpum_cf: make hw_perf_event_update() a void function 2017-03-31 07:53:35 +02:00
perf_cpum_sf.c s390: rename struct psw_bits members 2017-06-12 16:26:02 +02:00
perf_event.c s390/perf: fix null string in perf list pmu command 2017-06-12 16:26:00 +02:00
pgm_check.S
process.c arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
processor.c s390/cpuinfo: show facilities as reported by stfle 2017-03-22 08:29:02 +01:00
ptrace.c s390/ptrace: guarded storage regset for the current task 2017-06-12 16:25:59 +02:00
reipl.S
relocate_kernel.S
runtime_instr.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
setup.c kexec: move vmcoreinfo out of the kernel's .bss section 2017-07-12 16:25:59 -07:00
signal.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
smp.c s390/smp: fix false positive kmemleak of mcesa data structure 2017-06-12 16:25:58 +02:00
stacktrace.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
suspend.c
swsusp.S s390/sclp: don't add new lines to each printed string 2017-02-08 14:13:20 +01:00
sys_s390.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
syscalls.S s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
sysinfo.c S390/sysinfo: use uuid_is_null instead of opencoding it 2017-06-05 16:59:06 +02:00
time.c s390/kernel: Use stop_machine_cpuslocked() 2017-05-26 10:10:41 +02:00
topology.c s390/sysinfo,topology: provide raw stsi 15,1,x data via debugfs 2017-03-22 08:29:15 +01:00
trace.c
traps.c s390: add missing header includes for type checking 2017-06-12 16:25:55 +02:00
uprobes.c s390: rename struct psw_bits members 2017-06-12 16:26:02 +02:00
vdso.c s390/vdso: use _install_special_mapping to establish vdso 2017-06-12 16:25:57 +02:00
vmlinux.lds.S s390: move _text symbol to address higher than zero 2017-05-09 10:44:38 +02:00
vtime.c s390/cputime: simplify account_system_index_scaled 2017-06-12 16:25:57 +02:00