Use note name macros to match with the userspace's expectation.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Acked-by: Baoquan He <bhe@redhat.com>
---
fs/proc/kcore.c | 12 ++++++------
include/linux/vmcore_info.h | 2 +-
kernel/crash_core.c | 2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
index e376f48c4b8b..e5612313b8b4 100644
--- a/fs/proc/kcore.c
+++ b/fs/proc/kcore.c
@@ -34,8 +34,6 @@
#include <asm/sections.h>
#include "internal.h"
-#define CORE_STR "CORE"
-
#ifndef ELF_CORE_EFLAGS
#define ELF_CORE_EFLAGS 0
#endif
@@ -119,7 +117,9 @@ static size_t get_kcore_size(int *nphdr, size_t *phdrs_len, size_t *notes_len,
*phdrs_len = *nphdr * sizeof(struct elf_phdr);
*notes_len = (4 * sizeof(struct elf_note) +
- 3 * ALIGN(sizeof(CORE_STR), 4) +
+ ALIGN(sizeof(NN_PRSTATUS), 4) +
+ ALIGN(sizeof(NN_PRPSINFO), 4) +
+ ALIGN(sizeof(NN_TASKSTRUCT), 4) +
VMCOREINFO_NOTE_NAME_BYTES +
ALIGN(sizeof(struct elf_prstatus), 4) +
ALIGN(sizeof(struct elf_prpsinfo), 4) +
@@ -444,11 +444,11 @@ static ssize_t read_kcore_iter(struct kiocb *iocb, struct iov_iter *iter)
goto out;
}
- append_kcore_note(notes, &i, CORE_STR, NT_PRSTATUS, &prstatus,
+ append_kcore_note(notes, &i, NN_PRSTATUS, NT_PRSTATUS, &prstatus,
sizeof(prstatus));
- append_kcore_note(notes, &i, CORE_STR, NT_PRPSINFO, &prpsinfo,
+ append_kcore_note(notes, &i, NN_PRPSINFO, NT_PRPSINFO, &prpsinfo,
sizeof(prpsinfo));
- append_kcore_note(notes, &i, CORE_STR, NT_TASKSTRUCT, current,
+ append_kcore_note(notes, &i, NN_TASKSTRUCT, NT_TASKSTRUCT, current,
arch_task_struct_size);
/*
* vmcoreinfo_size is mostly constant after init time, but it
diff --git a/include/linux/vmcore_info.h b/include/linux/vmcore_info.h
index e1dec1a6a749..1672801fd98c 100644
--- a/include/linux/vmcore_info.h
+++ b/include/linux/vmcore_info.h
@@ -8,7 +8,7 @@
#define CRASH_CORE_NOTE_NAME "CORE"
#define CRASH_CORE_NOTE_HEAD_BYTES ALIGN(sizeof(struct elf_note), 4)
-#define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(CRASH_CORE_NOTE_NAME), 4)
+#define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(NN_PRSTATUS), 4)
#define CRASH_CORE_NOTE_DESC_BYTES ALIGN(sizeof(struct elf_prstatus), 4)
/*
diff --git a/kernel/crash_core.c b/kernel/crash_core.c
index 078fe5bc5a74..335b8425dd4b 100644
--- a/kernel/crash_core.c
+++ b/kernel/crash_core.c
@@ -436,7 +436,7 @@ void crash_save_cpu(struct pt_regs *regs, int cpu)
memset(&prstatus, 0, sizeof(prstatus));
prstatus.common.pr_pid = current->pid;
elf_core_copy_regs(&prstatus.pr_reg, regs);
- buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS,
+ buf = append_elf_note(buf, NN_PRSTATUS, NT_PRSTATUS,
&prstatus, sizeof(prstatus));
final_note(buf);
}
--
2.47.1
On Sat, Jan 11, 2025 at 02:48:47PM +0900, Akihiko Odaki wrote: > Use note name macros to match with the userspace's expectation. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > Acked-by: Baoquan He <bhe@redhat.com> Reviewed-by: Dave Martin <Dave.Martin@arm.com> > --- > fs/proc/kcore.c | 12 ++++++------ > include/linux/vmcore_info.h | 2 +- > kernel/crash_core.c | 2 +- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c > index e376f48c4b8b..e5612313b8b4 100644 > --- a/fs/proc/kcore.c > +++ b/fs/proc/kcore.c > @@ -34,8 +34,6 @@ > #include <asm/sections.h> > #include "internal.h" > > -#define CORE_STR "CORE" > - > #ifndef ELF_CORE_EFLAGS > #define ELF_CORE_EFLAGS 0 > #endif > @@ -119,7 +117,9 @@ static size_t get_kcore_size(int *nphdr, size_t *phdrs_len, size_t *notes_len, > > *phdrs_len = *nphdr * sizeof(struct elf_phdr); > *notes_len = (4 * sizeof(struct elf_note) + > - 3 * ALIGN(sizeof(CORE_STR), 4) + > + ALIGN(sizeof(NN_PRSTATUS), 4) + > + ALIGN(sizeof(NN_PRPSINFO), 4) + > + ALIGN(sizeof(NN_TASKSTRUCT), 4) + > VMCOREINFO_NOTE_NAME_BYTES + > ALIGN(sizeof(struct elf_prstatus), 4) + > ALIGN(sizeof(struct elf_prpsinfo), 4) + > @@ -444,11 +444,11 @@ static ssize_t read_kcore_iter(struct kiocb *iocb, struct iov_iter *iter) > goto out; > } > > - append_kcore_note(notes, &i, CORE_STR, NT_PRSTATUS, &prstatus, > + append_kcore_note(notes, &i, NN_PRSTATUS, NT_PRSTATUS, &prstatus, > sizeof(prstatus)); > - append_kcore_note(notes, &i, CORE_STR, NT_PRPSINFO, &prpsinfo, > + append_kcore_note(notes, &i, NN_PRPSINFO, NT_PRPSINFO, &prpsinfo, > sizeof(prpsinfo)); > - append_kcore_note(notes, &i, CORE_STR, NT_TASKSTRUCT, current, > + append_kcore_note(notes, &i, NN_TASKSTRUCT, NT_TASKSTRUCT, current, > arch_task_struct_size); > /* > * vmcoreinfo_size is mostly constant after init time, but it > diff --git a/include/linux/vmcore_info.h b/include/linux/vmcore_info.h > index e1dec1a6a749..1672801fd98c 100644 > --- a/include/linux/vmcore_info.h > +++ b/include/linux/vmcore_info.h > @@ -8,7 +8,7 @@ > > #define CRASH_CORE_NOTE_NAME "CORE" > #define CRASH_CORE_NOTE_HEAD_BYTES ALIGN(sizeof(struct elf_note), 4) > -#define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(CRASH_CORE_NOTE_NAME), 4) > +#define CRASH_CORE_NOTE_NAME_BYTES ALIGN(sizeof(NN_PRSTATUS), 4) > #define CRASH_CORE_NOTE_DESC_BYTES ALIGN(sizeof(struct elf_prstatus), 4) > > /* > diff --git a/kernel/crash_core.c b/kernel/crash_core.c > index 078fe5bc5a74..335b8425dd4b 100644 > --- a/kernel/crash_core.c > +++ b/kernel/crash_core.c > @@ -436,7 +436,7 @@ void crash_save_cpu(struct pt_regs *regs, int cpu) > memset(&prstatus, 0, sizeof(prstatus)); > prstatus.common.pr_pid = current->pid; > elf_core_copy_regs(&prstatus.pr_reg, regs); > - buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS, > + buf = append_elf_note(buf, NN_PRSTATUS, NT_PRSTATUS, > &prstatus, sizeof(prstatus)); > final_note(buf); > } > > -- > 2.47.1 > >
© 2016 - 2026 Red Hat, Inc.