binfmt: Fix error return code in load_elf_fdpic_binary()
authorWang Yufen <wangyufen@huawei.com>
Fri, 2 Dec 2022 01:41:01 +0000 (09:41 +0800)
committerKees Cook <keescook@chromium.org>
Fri, 2 Dec 2022 03:15:52 +0000 (19:15 -0800)
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
fs/binfmt_elf_fdpic.c

index e90c119..096e352 100644 (file)
@@ -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);