[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACVxJT-k664=aYp4VkG1LH3PsGHEf50PqP5EA+JWiFVb_JVs2Q@mail.gmail.com>
Date: Sun, 12 Dec 2021 09:38:54 +0200
From: Alexey Dobriyan <adobriyan@...il.com>
To: "H.J. Lu" <hjl.tools@...il.com>
Cc: linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH] fs/binfmt_elf.c: disallow zero entry point address
On 12/11/21, H.J. Lu <hjl.tools@...il.com> 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;
Powered by blists - more mailing lists