Message ID | 20201222210345.2275038-1-ndesaulniers@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fs: binfmt_em86: check return code of remove_arg_zero | expand |
On Tue, Dec 22, 2020 at 10:03 PM Nick Desaulniers <ndesaulniers@google.com> wrote: > > remove_arg_zero is declared as __must_check. Looks like it can return > -EFAULT on failure. > > Cc: Masahiro Yamada <masahiroy@kernel.org> > Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > Reported-by: Guenter Roeck <linux@roeck-us.net> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Cc'ing Alpha list too. Alexander, fs-devel: pinging about this... We removed ENABLE_MUST_CHECK in 196793946264 ("Compiler Attributes: remove CONFIG_ENABLE_MUST_CHECK"), so this should be giving a warning now unconditionally. In 5.12 it will likely become a build error. Nick: thanks for the patch! (I missed it in December, sorry) Reviewed-by: Miguel Ojeda <ojeda@kernel.org> Cheers, Miguel
diff --git a/fs/binfmt_em86.c b/fs/binfmt_em86.c index 06b9b9fddf70..6e98fcfca66e 100644 --- a/fs/binfmt_em86.c +++ b/fs/binfmt_em86.c @@ -63,7 +63,8 @@ static int load_em86(struct linux_binprm *bprm) * This is done in reverse order, because of how the * user environment and arguments are stored. */ - remove_arg_zero(bprm); + retval = remove_arg_zero(bprm); + if (retval < 0) return retval; retval = copy_string_kernel(bprm->filename, bprm); if (retval < 0) return retval; bprm->argc++;
remove_arg_zero is declared as __must_check. Looks like it can return -EFAULT on failure. Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> --- fs/binfmt_em86.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)