libbpf: Simplify the find_elf_sec_sz() function
authorYuntao Wang <ytcoode@gmail.com>
Wed, 23 Feb 2022 08:52:44 +0000 (16:52 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 23 Feb 2022 22:53:21 +0000 (14:53 -0800)
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: Yuntao Wang <ytcoode@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220223085244.3058118-1-ytcoode@gmail.com
tools/lib/bpf/libbpf.c

index 7e978fe..776b8e0 100644 (file)
@@ -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)
 {
-       int ret = -ENOENT;
        Elf_Data *data;
        Elf_Scn *scn;
 
-       *size = 0;
        if (!name)
                return -EINVAL;
 
        scn = elf_sec_by_name(obj, name);
        data = elf_sec_data(obj, scn);
        if (data) {
-               ret = 0; /* found it */
                *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)