summary refs log tree commit diff
diff options
context:
space:
mode:
authorWang Yufen <wangyufen@huawei.com>2022-12-02 09:41:01 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-04 11:29:00 +0100
commit703fd753a0ba6bec6dfa6702dbc6a8f123e4a3cd (patch)
tree9627dbba7174e671331450b2de3ee64214ea33e6
parente6d180a35bc0efd614b0df45f92a08550143555d (diff)
downloadlinux-703fd753a0ba6bec6dfa6702dbc6a8f123e4a3cd.tar.gz
binfmt: Fix error return code in load_elf_fdpic_binary()
commit e7f703ff2507f4e9f496da96cd4b78fd3026120c upstream.

Fix to return a negative error code from create_elf_fdpic_tables()
instead of 0.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Signed-off-by: Wang Yufen <wangyufen@huawei.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/1669945261-30271-1-git-send-email-wangyufen@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/binfmt_elf_fdpic.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 08d0c8797828..9ce5e1f41c26 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);