The patch below does not apply to the 5.4-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <stable@xxxxxxxxxxxxxxx>. Possible dependencies: e7f703ff2507 ("binfmt: Fix error return code in load_elf_fdpic_binary()") e7f7785449a1 ("binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf") thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From e7f703ff2507f4e9f496da96cd4b78fd3026120c Mon Sep 17 00:00:00 2001 From: Wang Yufen <wangyufen@xxxxxxxxxx> Date: Fri, 2 Dec 2022 09:41:01 +0800 Subject: [PATCH] binfmt: Fix error return code in load_elf_fdpic_binary() Fix to return a negative error code from create_elf_fdpic_tables() instead of 0. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Wang Yufen <wangyufen@xxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Link: https://lore.kernel.org/r/1669945261-30271-1-git-send-email-wangyufen@xxxxxxxxxx diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index e90c1192dec6..096e3520a0b1 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c @@ -434,8 +434,9 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm) current->mm->start_stack = current->mm->start_brk + stack_size; #endif - if (create_elf_fdpic_tables(bprm, current->mm, - &exec_params, &interp_params) < 0) + retval = create_elf_fdpic_tables(bprm, current->mm, &exec_params, + &interp_params); + if (retval < 0) goto error; kdebug("- start_code %lx", current->mm->start_code);