From d3f0d7bbaefd3465e95da2500640732a5cc8bedf Mon Sep 17 00:00:00 2001 From: Li kunyu Date: Tue, 20 Feb 2024 13:24:26 +0800 Subject: exec: Delete unnecessary statements in remove_arg_zero() 'ret=0; ' In actual operation, the ret was not modified, so this sentence can be removed. Signed-off-by: Li kunyu Link: https://lore.kernel.org/r/20240220052426.62018-1-kunyu@nfschina.com Signed-off-by: Kees Cook --- fs/exec.c | 1 - 1 file changed, 1 deletion(-) (limited to 'fs/exec.c') diff --git a/fs/exec.c b/fs/exec.c index af4fbb61cd53..715e1a8aa4f0 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1747,7 +1747,6 @@ int remove_arg_zero(struct linux_binprm *bprm) bprm->p++; bprm->argc--; - ret = 0; out: return ret; -- cgit v1.2.3 From 725d50261285ccf02501f2a1a6d10b31ce014597 Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Sat, 9 Mar 2024 13:46:30 -0800 Subject: exec: Simplify remove_arg_zero() error path We don't need the "out" label any more, so remove "ret" and return directly on error. Reviewed-by: Jan Kara Signed-off-by: Kees Cook --- Cc: Eric Biederman Cc: Alexander Viro Cc: Christian Brauner Cc: Jan Kara Cc: linux-mm@kvack.org Cc: linux-fsdevel@vger.kernel.org --- fs/exec.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'fs/exec.c') diff --git a/fs/exec.c b/fs/exec.c index 715e1a8aa4f0..e7d9d6ad980b 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1720,7 +1720,6 @@ static int prepare_binprm(struct linux_binprm *bprm) */ int remove_arg_zero(struct linux_binprm *bprm) { - int ret = 0; unsigned long offset; char *kaddr; struct page *page; @@ -1731,10 +1730,8 @@ int remove_arg_zero(struct linux_binprm *bprm) do { offset = bprm->p & ~PAGE_MASK; page = get_arg_page(bprm, bprm->p, 0); - if (!page) { - ret = -EFAULT; - goto out; - } + if (!page) + return -EFAULT; kaddr = kmap_local_page(page); for (; offset < PAGE_SIZE && kaddr[offset]; @@ -1748,8 +1745,7 @@ int remove_arg_zero(struct linux_binprm *bprm) bprm->p++; bprm->argc--; -out: - return ret; + return 0; } EXPORT_SYMBOL(remove_arg_zero); -- cgit v1.2.3