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

2017-11-07 Thread Baoquan He
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
> 


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

2017-11-07 Thread Baoquan He
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
> 


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

2017-10-05 Thread Baoquan He
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



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

2017-10-05 Thread Baoquan He
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