elf: add remaining SHF_ flag macros

Message ID 20250307171417.267488-1-ttabi@nvidia.com
State New
Headers
Series elf: add remaining SHF_ flag macros |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_build--master-arm fail Patch failed to apply

Commit Message

Timur Tabi March 7, 2025, 5:14 p.m. UTC
  Add the remaining SHF_ flags, as listed in the "Executable and
Linkable Format" Wikipedia page.  This allows drivers to load and
parse ELF images that use some of those flags.

In particular, an upcoming change to the Nouveau GPU driver will
use some of the flags.

Signed-off-by: Timur Tabi <ttabi@nvidia.com>
---
 include/uapi/linux/elf.h | 10 ++++++++++
 1 file changed, 10 insertions(+)


base-commit: 5734411ec9f9cb6dcd0b3c627ae16b3011e6f4fe
prerequisite-patch-id: c4ea9bb93e2edfc4788c70e5057e5170dbf42a57
prerequisite-patch-id: 5abbe49499a6629f6f4389e86456308022771cb6
  

Comments

Kees Cook March 7, 2025, 8:23 p.m. UTC | #1
On Fri, 07 Mar 2025 11:14:17 -0600, Timur Tabi wrote:
> Add the remaining SHF_ flags, as listed in the "Executable and
> Linkable Format" Wikipedia page.  This allows drivers to load and
> parse ELF images that use some of those flags.
> 
> In particular, an upcoming change to the Nouveau GPU driver will
> use some of the flags.
> 
> [...]

I added a reference to:
https://refspecs.linuxfoundation.org/elf/gabi4+/ch4.sheader.html#sh_flags

Applied to for-next/topic/execve/core, thanks!

[1/1] elf: add remaining SHF_ flag macros
      https://git.kernel.org/kees/c/b0db1ed17645

Take care,
  

Patch

diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h
index b44069d29cec..6712c7a03596 100644
--- a/include/uapi/linux/elf.h
+++ b/include/uapi/linux/elf.h
@@ -291,8 +291,18 @@  typedef struct elf64_phdr {
 #define SHF_WRITE		0x1
 #define SHF_ALLOC		0x2
 #define SHF_EXECINSTR		0x4
+#define SHF_MERGE		0x10
+#define SHF_STRINGS		0x20
+#define SHF_INFO_LINK		0x40
+#define SHF_LINK_ORDER		0x80
+#define SHF_OS_NONCONFORMING	0x100
+#define SHF_GROUP		0x200
+#define SHF_TLS			0x400
 #define SHF_RELA_LIVEPATCH	0x00100000
 #define SHF_RO_AFTER_INIT	0x00200000
+#define SHF_ORDERED		0x04000000
+#define SHF_EXCLUDE		0x08000000
+#define SHF_MASKOS		0x0ff00000
 #define SHF_MASKPROC		0xf0000000
 
 /* special section indexes */