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

From: Alexey Dobriyan
Date: Sun Dec 12 2021 - 02:39:25 EST


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;