Re: [PATCH v4 4/6] crash: Use note name macros
From: Dave Martin
Date: Tue Jan 14 2025 - 07:23:25 EST
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@xxxxxxxxxx>
> Acked-by: Baoquan He <bhe@xxxxxxxxxx>
Reviewed-by: Dave Martin <Dave.Martin@xxxxxxx>
> ---
> 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
>
>