--- a/fs/binfmt_elf.c~elf-dont-free-interpreters-elf-pheaders-on-common-path +++ a/fs/binfmt_elf.c @@ -1076,6 +1076,7 @@ out_free_interp: fput(interpreter); kfree(interp_elf_ex); + kfree(interp_elf_phdata); } else { elf_entry = e_entry; if (BAD_ADDR(elf_entry)) { @@ -1084,7 +1085,6 @@ out_free_interp: } } - kfree(interp_elf_phdata); kfree(elf_phdata); set_binfmt(&elf_format);