|
|
Log in / Subscribe / Register

elf: Define note name macros

From:  Akihiko Odaki <akihiko.odaki-AT-daynix.com>
To:  Eric Biederman <ebiederm-AT-xmission.com>, Kees Cook <kees-AT-kernel.org>, Catalin Marinas <catalin.marinas-AT-arm.com>, Mark Brown <broonie-AT-kernel.org>, Dave Martin <Dave.Martin-AT-arm.com>, Baoquan He <bhe-AT-redhat.com>, Vivek Goyal <vgoyal-AT-redhat.com>, Dave Young <dyoung-AT-redhat.com>
Subject:  [PATCH v3 0/6] elf: Define note name macros
Date:  Tue, 07 Jan 2025 21:45:51 +0900
Message-ID:  <20250107-elf-v3-0-99cb505b1ab2@daynix.com>
Cc:  linux-mm-AT-kvack.org, linux-kernel-AT-vger.kernel.org, linuxppc-dev-AT-lists.ozlabs.org, linux-s390-AT-vger.kernel.org, kexec-AT-lists.infradead.org, binutils-AT-sourceware.org, devel-AT-daynix.com, Akihiko Odaki <akihiko.odaki-AT-daynix.com>
Archive-link:  Article

elf.h had a comment saying:
> Notes used in ET_CORE. Architectures export some of the arch register
> sets using the corresponding note types via the PTRACE_GETREGSET and
> PTRACE_SETREGSET requests.
> The note name for these types is "LINUX", except NT_PRFPREG that is
> named "CORE".

However, NT_PRSTATUS is also named "CORE". It is also unclear what
"these types" refers to.

To fix these problems, define a name for each note type. The added
definitions are macros so the kernel and userspace can directly refer to
them.

For userspace program developers
---------------------------------------------------
While the main purpose of new macros is documentation, they are also
hoped to be useful for userspace programs. Please check patch
"elf: Define note name macros" and if you have a suggestion to make it
more convenient for you, please share.

I added the Binutils mailing list to the CC as it contains code to parse
dumps. I'm also planning to share this series on LLVM Discourse.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
Changes in v3:
- Added patch "s390/crash: Use note name macros".
- Changed to interleave note name and type macros.
- Described NN_ and NT_ macros.
- Link to v2: https://lore.kernel.org/r/20250104-elf-v2-0-77dc2e06db4e@...

Changes in v2:
- Added a macro definition for each note type instead of trying to
  describe in a comment.
- Link to v1: https://lore.kernel.org/r/20241225-elf-v1-1-79e940350d50@...

---
Akihiko Odaki (6):
      elf: Define note name macros
      binfmt_elf: Use note name macros
      powwerpc: Use note name macros
      crash: Use note name macros
      s390/crash: Use note name macros
      crash: Remove KEXEC_CORE_NOTE_NAME

 arch/powerpc/kernel/fadump.c               |  2 +-
 arch/powerpc/platforms/powernv/opal-core.c |  8 +--
 arch/s390/kernel/crash_dump.c              | 62 ++++++++-------------
 fs/binfmt_elf.c                            | 21 ++++----
 fs/binfmt_elf_fdpic.c                      |  8 +--
 fs/proc/kcore.c                            | 12 ++---
 include/linux/kexec.h                      |  2 -
 include/linux/vmcore_info.h                |  3 +-
 include/uapi/linux/elf.h                   | 86 ++++++++++++++++++++++++++++--
 kernel/crash_core.c                        |  2 +-
 10 files changed, 133 insertions(+), 73 deletions(-)
---
base-commit: a32e14f8aef69b42826cf0998b068a43d486a9e9
change-id: 20241210-elf-b80ea3949c39

Best regards,
-- 
Akihiko Odaki <akihiko.odaki@daynix.com>




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds