From: Bo Liu liubo03@inspur.com
commit dc64cc12bcd14219afb91b55d23192c3eb45aa43 upstream
Avoid typecasts that are needed for IS_ERR() and use IS_ERR_VALUE() instead.
Signed-off-by: Bo Liu liubo03@inspur.com Signed-off-by: Kees Cook keescook@chromium.org Link: https://lore.kernel.org/r/20221115031757.2426-1-liubo03@inspur.com Signed-off-by: Wenlin Kang wenlin.kang@windriver.com --- fs/binfmt_elf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 89e7e4826efc..584b446494cf 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1167,7 +1167,7 @@ static int load_elf_binary(struct linux_binprm *bprm) error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, elf_prot, elf_flags, total_size); if (BAD_ADDR(error)) { - retval = IS_ERR((void *)error) ? + retval = IS_ERR_VALUE(error) ? PTR_ERR((void*)error) : -EINVAL; goto out_free_dentry; } @@ -1252,7 +1252,7 @@ static int load_elf_binary(struct linux_binprm *bprm) interpreter, load_bias, interp_elf_phdata, &arch_state); - if (!IS_ERR((void *)elf_entry)) { + if (!IS_ERR_VALUE(elf_entry)) { /* * load_elf_interp() returns relocation * adjustment @@ -1261,7 +1261,7 @@ static int load_elf_binary(struct linux_binprm *bprm) elf_entry += interp_elf_ex->e_entry; } if (BAD_ADDR(elf_entry)) { - retval = IS_ERR((void *)elf_entry) ? + retval = IS_ERR_VALUE(elf_entry) ? (int)elf_entry : -EINVAL; goto out_free_dentry; }