2022-11-15 04:02:42

by Bo Liu

[permalink] [raw]
Subject: [PATCH] binfmt_elf: replace IS_ERR() with IS_ERR_VALUE()

Avoid typecasts that are needed for IS_ERR() and use IS_ERR_VALUE()
instead.

Signed-off-by: Bo Liu <[email protected]>
---
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 528e2ac8931f..d9af34f816a9 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1160,7 +1160,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;
}
@@ -1245,7 +1245,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
@@ -1254,7 +1254,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;
}
--
2.27.0



2022-11-17 23:24:09

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] binfmt_elf: replace IS_ERR() with IS_ERR_VALUE()

On Mon, 14 Nov 2022 22:17:57 -0500, Bo Liu wrote:
> Avoid typecasts that are needed for IS_ERR() and use IS_ERR_VALUE()
> instead.

Applied to for-next/execve, thanks!

[1/1] binfmt_elf: replace IS_ERR() with IS_ERR_VALUE()
https://git.kernel.org/kees/c/dc64cc12bcd1

--
Kees Cook