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. Sorry for my latency. Changes in v4 - Reflecting 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 | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) base-commit: 4eee8d0b64ecc3231040fa68ba750317ffca5c52 -- 2.34.1