lkml.org 
[lkml]   [2022]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v5 0/2] fs/binfmt_elf: Fix AT_PHDR for unusual ELF files
Date
These patches fix a bug in AT_PHDR calculation. 

We cannot calculate AT_PHDR as the sum of load_addr and exec->e_phoff.
This is because exec->e_phoff is the offset of PHDRs in the file and the
address of PHDRs in the memory may differ from it. These patches fix the
bug by calculating the address of program headers from PT_LOADs
directly.

Changes in v5
- Reflecting on comments from Kees, add a comment to the first commit.

Changes in v4
- Reflecting on comments from Lukas, add a refactoring commit.

Changes in v3:
- Fix a reported bug from kernel test robot.

Changes in v2:
- Remove unused load_addr from create_elf_tables.
- Improve the commit message.

Akira Kawata (2):
fs/binfmt_elf: Fix AT_PHDR for unusual ELF files
fs/binfmt_elf: Refactor load_elf_binary function

fs/binfmt_elf.c | 40 +++++++++++++++++++++++++---------------
1 file changed, 25 insertions(+), 15 deletions(-)


base-commit: 0eb96e2c58c03e79fc2ee833ba88bf9226986564
--
2.25.1

\
 
 \ /
  Last update: 2022-01-27 13:43    [W:0.090 / U:0.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site