Re: [PATCH] fs/binfmt_elf.c: disallow zero entry point address

From: H.J. Lu
Date: Sun Dec 12 2021 - 08:52:53 EST


On Sat, Dec 11, 2021 at 11:38 PM Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>
> On 12/11/21, H.J. Lu <hjl.tools@xxxxxxxxx> wrote:
> > According to gABI, the entry point address in the ELF header gives the
> > virtual address to which the system first transfers control, thus
> > starting the process. If the file has no associated entry point, this
> > member holds zero. Update the ELF loader to disallow an ELF binary
> > with zero entry point address. This fixes:
> >
> > https://bugzilla.kernel.org/show_bug.cgi?id=215303
> >
> > Tested by booting Fedora 35 and running a shared library with zero entry
> > point address:
> >
> > $ readelf -h load.so | grep "Entry point address:"
> > Entry point address: 0x0
> > $ ./load.so
> > bash: ./load.so: cannot execute binary file: Exec format error
>
> Why not let it segfault?
>
> > + if (elf_ex->e_entry == 0)
> > + goto out;

Why let it segfault?

--
H.J.