lkml.org 
[lkml]   [2005]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: - binfmt_elf-bss-padding-fix.patch removed from -mm tree
    On 10/12/05, akpm@osdl.org <akpm@osdl.org> 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 <tzachar@cs.bgu.ac.il> 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 <roland@redhat.com>
    > Cc: Daniel Jacobowitz <dan@debian.org>
    > Signed-off-by: Andrew Morton <akpm@osdl.org>
    > ---
    >
    > 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 majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-10-12 02:45    [W:0.022 / U:14.436 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site