]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
modpost: squash if...else-if in find_elf_symbol2()
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 23 May 2022 16:46:26 +0000 (01:46 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Fri, 27 May 2022 07:16:35 +0000 (16:16 +0900)
if ((addr - sym->st_value) < distance) {
            distance = addr - sym->st_value;
            near = sym;
    } else if ((addr - sym->st_value) == distance) {
            near = sym;
    }

is equivalent to:

    if (addr - sym->st_value <= distance) {
            distance = addr - sym->st_value;
            near = sym;
    }

(The else-if block can overwrite 'distance' with the same value).

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
scripts/mod/modpost.c

index fc8ba8585d23c62554b0e5591bd290ed60904728..b70a31b4245a9b87f177933a1bca3bdaf448de85 100644 (file)
@@ -1270,13 +1270,9 @@ static Elf_Sym *find_elf_symbol2(struct elf_info *elf, Elf_Addr addr,
                        continue;
                if (!is_valid_name(elf, sym))
                        continue;
-               if (sym->st_value <= addr) {
-                       if ((addr - sym->st_value) < distance) {
-                               distance = addr - sym->st_value;
-                               near = sym;
-                       } else if ((addr - sym->st_value) == distance) {
-                               near = sym;
-                       }
+               if (sym->st_value <= addr && addr - sym->st_value <= distance) {
+                       distance = addr - sym->st_value;
+                       near = sym;
                }
        }
        return near;