Commit 08894d9c authored by Yuntao Wang's avatar Yuntao Wang Committed by Andrii Nakryiko

libbpf: Simplify the find_elf_sec_sz() function

The check in the last return statement is unnecessary, we can just return
the ret variable.

But we can simplify the function further by returning 0 immediately if we
find the section size and -ENOENT otherwise.

Thus we can also remove the ret variable.
Signed-off-by: default avatarYuntao Wang <ytcoode@gmail.com>
Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220223085244.3058118-1-ytcoode@gmail.com
parent a19df713
...@@ -1374,22 +1374,20 @@ static bool bpf_map_type__is_map_in_map(enum bpf_map_type type) ...@@ -1374,22 +1374,20 @@ static bool bpf_map_type__is_map_in_map(enum bpf_map_type type)
static int find_elf_sec_sz(const struct bpf_object *obj, const char *name, __u32 *size) static int find_elf_sec_sz(const struct bpf_object *obj, const char *name, __u32 *size)
{ {
int ret = -ENOENT;
Elf_Data *data; Elf_Data *data;
Elf_Scn *scn; Elf_Scn *scn;
*size = 0;
if (!name) if (!name)
return -EINVAL; return -EINVAL;
scn = elf_sec_by_name(obj, name); scn = elf_sec_by_name(obj, name);
data = elf_sec_data(obj, scn); data = elf_sec_data(obj, scn);
if (data) { if (data) {
ret = 0; /* found it */
*size = data->d_size; *size = data->d_size;
return 0; /* found it */
} }
return *size ? 0 : ret; return -ENOENT;
} }
static int find_elf_var_offset(const struct bpf_object *obj, const char *name, __u32 *off) static int find_elf_var_offset(const struct bpf_object *obj, const char *name, __u32 *off)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment