aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/crash.c5
-rw-r--r--arch/ppc/kernel/machine_kexec.c6
-rw-r--r--arch/s390/kernel/crash.c2
-rw-r--r--arch/x86_64/kernel/crash.c2
4 files changed, 3 insertions, 12 deletions
diff --git a/arch/i386/kernel/crash.c b/arch/i386/kernel/crash.c
index 10fe6569751e..f1e65c2ead6e 100644
--- a/arch/i386/kernel/crash.c
+++ b/arch/i386/kernel/crash.c
@@ -25,7 +25,6 @@
25#include <mach_ipi.h> 25#include <mach_ipi.h>
26 26
27 27
28note_buf_t crash_notes[NR_CPUS];
29/* This keeps a track of which one is crashing cpu. */ 28/* This keeps a track of which one is crashing cpu. */
30static int crashing_cpu; 29static int crashing_cpu;
31 30
@@ -72,7 +71,9 @@ static void crash_save_this_cpu(struct pt_regs *regs, int cpu)
72 * squirrelled away. ELF notes happen to provide 71 * squirrelled away. ELF notes happen to provide
73 * all of that that no need to invent something new. 72 * all of that that no need to invent something new.
74 */ 73 */
75 buf = &crash_notes[cpu][0]; 74 buf = (u32*)per_cpu_ptr(crash_notes, cpu);
75 if (!buf)
76 return;
76 memset(&prstatus, 0, sizeof(prstatus)); 77 memset(&prstatus, 0, sizeof(prstatus));
77 prstatus.pr_pid = current->pid; 78 prstatus.pr_pid = current->pid;
78 elf_core_copy_regs(&prstatus.pr_reg, regs); 79 elf_core_copy_regs(&prstatus.pr_reg, regs);
diff --git a/arch/ppc/kernel/machine_kexec.c b/arch/ppc/kernel/machine_kexec.c
index a882b0dbe8de..84d65a87191e 100644
--- a/arch/ppc/kernel/machine_kexec.c
+++ b/arch/ppc/kernel/machine_kexec.c
@@ -28,12 +28,6 @@ typedef NORET_TYPE void (*relocate_new_kernel_t)(
28const extern unsigned char relocate_new_kernel[]; 28const extern unsigned char relocate_new_kernel[];
29const extern unsigned int relocate_new_kernel_size; 29const extern unsigned int relocate_new_kernel_size;
30 30
31/*
32 * Provide a dummy crash_notes definition while crash dump arrives to ppc.
33 * This prevents breakage of crash_notes attribute in kernel/ksysfs.c.
34 */
35note_buf_t crash_notes[NR_CPUS];
36
37void machine_shutdown(void) 31void machine_shutdown(void)
38{ 32{
39 if (ppc_md.machine_shutdown) 33 if (ppc_md.machine_shutdown)
diff --git a/arch/s390/kernel/crash.c b/arch/s390/kernel/crash.c
index 7bd169c58b0c..926cceeae0fa 100644
--- a/arch/s390/kernel/crash.c
+++ b/arch/s390/kernel/crash.c
@@ -10,8 +10,6 @@
10#include <linux/threads.h> 10#include <linux/threads.h>
11#include <linux/kexec.h> 11#include <linux/kexec.h>
12 12
13note_buf_t crash_notes[NR_CPUS];
14
15void machine_crash_shutdown(struct pt_regs *regs) 13void machine_crash_shutdown(struct pt_regs *regs)
16{ 14{
17} 15}
diff --git a/arch/x86_64/kernel/crash.c b/arch/x86_64/kernel/crash.c
index 535e04466079..efe450760bbc 100644
--- a/arch/x86_64/kernel/crash.c
+++ b/arch/x86_64/kernel/crash.c
@@ -19,8 +19,6 @@
19#include <asm/nmi.h> 19#include <asm/nmi.h>
20#include <asm/hw_irq.h> 20#include <asm/hw_irq.h>
21 21
22note_buf_t crash_notes[NR_CPUS];
23
24void machine_crash_shutdown(struct pt_regs *regs) 22void machine_crash_shutdown(struct pt_regs *regs)
25{ 23{
26 /* This function is only called after the system 24 /* This function is only called after the system