[PATCH 0/3] binfmt_elf: Clean up codes related to total_size passed into elf_map()

From: Baoquan He
Date: Thu Oct 05 2017 - 23:38:13 EST


Currently total_size passed into elf_map() is non-zero only for dynamic
loader, either in load_elf_interp(), or in load_elf_binary() for ET_DYN
without INTERP case. Now PIE programs are loaded offset from ELF_ET_DYN_BASE,
and map flags has been set as MAP_FIXED, no need to use tatal_size strategy.

And in elf_map(), Oleg pointed out that the mmap(total_size) + munmap(extra_size)
way looks very ugly. We can search the unmapped area of total_size big,
then only map the 1st PT_LOAD segment with the searched address.

In this patchset, clean up them all.

Baoquan He (3):
binfmt_elf: Clean up the variable name of map flags
binfmt_elf: Get the total_size only for dynamic loader in
load_elf_binary()
binfmt_elf: Search an unmapped area with total_size but not map the
whole image

fs/binfmt_elf.c | 50 +++++++++++++++++++++++++++-----------------------
1 file changed, 27 insertions(+), 23 deletions(-)

--
2.5.5