summaryrefslogtreecommitdiffstats
path: root/kernel/kexec_core.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-06-13 00:08:44 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2021-01-06 08:38:29 -0500
commitf2485a2dc9f0f30fbdd013ad5772975100c71360 (patch)
treee1f9ca6167e845479a4ed70bb55e323986992f2c /kernel/kexec_core.c
parent8a00dd0012f383fc0c39b169b694dc15236cec7c (diff)
downloadlinux-f2485a2dc9f0f30fbdd013ad5772975100c71360.tar.gz
linux-f2485a2dc9f0f30fbdd013ad5772975100c71360.tar.bz2
linux-f2485a2dc9f0f30fbdd013ad5772975100c71360.zip
elf_prstatus: collect the common part (everything before pr_reg) into a struct
Preparations to doing i386 compat elf_prstatus sanely - rather than duplicating the beginning of compat_elf_prstatus, take these fields into a separate structure (compat_elf_prstatus_common), so that it could be reused. Due to the incestous relationship between binfmt_elf.c and compat_binfmt_elf.c we need the same shape change done to native struct elf_prstatus, gathering the fields prior to pr_reg into a new structure (struct elf_prstatus_common). Fortunately, offset of pr_reg is always a multiple of 16 with no padding right before it, so it's possible to turn all the stuff prior to it into a single member without disturbing the layout. [build fix from Geert Uytterhoeven folded in] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/kexec_core.c')
-rw-r--r--kernel/kexec_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 4f8efc278aa7..80905e5aa8ae 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -1076,7 +1076,7 @@ void crash_save_cpu(struct pt_regs *regs, int cpu)
if (!buf)
return;
memset(&prstatus, 0, sizeof(prstatus));
- prstatus.pr_pid = current->pid;
+ prstatus.common.pr_pid = current->pid;
elf_core_copy_kernel_regs(&prstatus.pr_reg, regs);
buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS,
&prstatus, sizeof(prstatus));