diff mbox series

binfmt: Fix error return code in load_elf_fdpic_binary()

Message ID 1669945261-30271-1-git-send-email-wangyufen@huawei.com (mailing list archive)
State New, archived
Headers show
Series binfmt: Fix error return code in load_elf_fdpic_binary() | expand

Commit Message

wangyufen Dec. 2, 2022, 1:41 a.m. UTC
Fix to return a negative error code from create_elf_fdpic_tables()
instead of 0.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Wang Yufen <wangyufen@huawei.com>
---
 fs/binfmt_elf_fdpic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Kees Cook Dec. 2, 2022, 3:14 a.m. UTC | #1
On Fri, Dec 02, 2022 at 09:41:01AM +0800, Wang Yufen wrote:
> Fix to return a negative error code from create_elf_fdpic_tables()
> instead of 0.
> 
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Wang Yufen <wangyufen@huawei.com>

Thanks for the catch! Yeah, it looks like this has been wrong for a long
time. :)

-Kees

> ---
>  fs/binfmt_elf_fdpic.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
> index 08d0c87..9ce5e1f 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);
> -- 
> 1.8.3.1
>
Kees Cook Dec. 2, 2022, 3:19 a.m. UTC | #2
On Fri, 2 Dec 2022 09:41:01 +0800, Wang Yufen wrote:
> Fix to return a negative error code from create_elf_fdpic_tables()
> instead of 0.
> 
> 

Applied to for-next/execve, thanks!

[1/1] binfmt: Fix error return code in load_elf_fdpic_binary()
      https://git.kernel.org/kees/c/e7f703ff2507
diff mbox series

Patch

diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 08d0c87..9ce5e1f 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);