On 4/21/22 05:23, Rich Felker wrote:
On Wed, Apr 20, 2022 at 10:04:32PM +0200, Arnd Bergmann wrote:
On Wed, Apr 20, 2022 at 7:47 PM Kees Cook keescook@chromium.org wrote:
Yeah, I was trying to understand why systems were using binfmt_flat and not binfmt_elf, given the mention of elf2flat -- is there really such a large kernel memory footprint savings to be had from removing binfmt_elf?
I think the main reason for using flat binaries is nommu support on m68k, xtensa and risc-v. The regular binfmt_elf support requires an MMU, and the elf-fdpic variant is only available for arm and sh at this point (the other nommu architectures got removed over time).
I believe I made the elf-fdpic loader so that it's capable of loading normal non-fdpic elf files on nommu (1bde925d23), unless somebody broke that. I also seem to recall that capability being added to the main elf loader later.
Last time I checked, building shared libraries usable with nommu riscv required gcc/ld options that were not supported for riscv (PIE related stuff). So removing the kernel support for shared flat libs is fine with me.