On 10/12/05, [email protected] <[email protected]> wrote:
>
> The patch titled
>
> binfmt_elf bss padding fix
>
> has been removed from the -mm tree. Its filename is
>
> binfmt_elf-bss-padding-fix.patch
>
> This patch was probably dropped from -mm because
> it has already been merged into a subsystem tree
> or into Linus's tree
>
>
>
> Nir Tzachar <[email protected]> points out that if an ELF file specifies a
> zero-length bss at a whacky address, we cannot load that binary because
> padzero() tries to zero out the end of the page at the whacky address, and
> that may not be writeable.
>
> See also http://bugzilla.kernel.org/show_bug.cgi?id=5411
>
> So teach load_elf_binary() to skip the bss settng altogether if the elf file
> has a zero-length bss segment.
>
> Cc: Roland McGrath <[email protected]>
> Cc: Daniel Jacobowitz <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> fs/binfmt_elf.c | 2 +-
> 1 files changed, 1 insertion(+), 1 deletion(-)
>
> diff -puN fs/binfmt_elf.c~binfmt_elf-bss-padding-fix fs/binfmt_elf.c
> --- devel/fs/binfmt_elf.c~binfmt_elf-bss-padding-fix 2005-10-11 08:15:14.000000000 -0700
> +++ devel-akpm/fs/binfmt_elf.c 2005-10-11 08:15:14.000000000 -0700
> @@ -905,7 +905,7 @@ static int load_elf_binary(struct linux_
> send_sig(SIGKILL, current, 0);
> goto out_free_dentry;
> }
> - if (padzero(elf_bss)) {
> + if (likely(elf_bss != elf_brk) && unlikely(padzero(elf_bss))) {
> send_sig(SIGSEGV, current, 0);
> retval = -EFAULT; /* Nobody gets to see this, but.. */
> goto out_free_dentry;
> _
This is simply not complete. load_elf_binary() is fixed.
load_elf_library() need to be fixed too. And theoretically
load_elf_interp() too.
--
Coywolf Qi Hunt
http://sosdg.org/~coywolf/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]