projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cfc46ca
)
binfmt_elf: simplify error handling in load_elf_phdrs()
author
Rolf Eike Beer
<eb@emlix.com>
Wed, 19 Oct 2022 07:52:16 +0000
(09:52 +0200)
committer
Kees Cook
<keescook@chromium.org>
Tue, 25 Oct 2022 22:19:52 +0000
(15:19 -0700)
The err variable was the same like retval, but capped to <= 0. This is the
same as retval as elf_read() never returns positive values.
Signed-off-by: Rolf Eike Beer <eb@emlix.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link:
https://lore.kernel.org/r/4137126.7Qn9TF0dmF@mobilepool36.emlix.com
fs/binfmt_elf.c
patch
|
blob
|
history
diff --git
a/fs/binfmt_elf.c
b/fs/binfmt_elf.c
index
71df1a3
..
528e2ac
100644
(file)
--- a/
fs/binfmt_elf.c
+++ b/
fs/binfmt_elf.c
@@
-462,7
+462,7
@@
static struct elf_phdr *load_elf_phdrs(const struct elfhdr *elf_ex,
struct file *elf_file)
{
struct elf_phdr *elf_phdata = NULL;
- int retval
, err
= -1;
+ int retval = -1;
unsigned int size;
/*
@@
-484,15
+484,9
@@
static struct elf_phdr *load_elf_phdrs(const struct elfhdr *elf_ex,
/* Read in the program headers */
retval = elf_read(elf_file, elf_phdata, size, elf_ex->e_phoff);
- if (retval < 0) {
- err = retval;
- goto out;
- }
- /* Success! */
- err = 0;
out:
- if (
err
) {
+ if (
retval
) {
kfree(elf_phdata);
elf_phdata = NULL;
}