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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi maintainers and experts,

Any comment about this patchset?

At least for patch 2, I think we can correct it since we do not have to
take the total_size way for PIE programs which are MAP_FIXED and are
loaded offset from ELF_ET_DYN_BASE. That is making code a little
confusing.

About patch 3, it's pointed out in an Redhat internal patch reviewing. I
am fine if no one like it.

If approved, I can update the git log to make it better and repost.

Thanks
Baoquan

On 10/06/17 at 11:37am, Baoquan He wrote:
> 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
> 



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux