]> git.ipfire.org Git - people/ms/linux.git/commitdiff
modpost: reuse ARRAY_SIZE() macro for section_mismatch()
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 23 May 2022 16:46:25 +0000 (01:46 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Fri, 27 May 2022 07:15:40 +0000 (16:15 +0900)
Move ARRAY_SIZE() from file2alias.c to modpost.h to reuse it in
section_mismatch().

Also, move the variable 'check' inside the for-loop.

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

index 5258247d78ac29765337e7cf4d09afeb05e1e0d4..e8a9c6816fecbc491fe56e14783c155c7f84b447 100644 (file)
@@ -734,8 +734,6 @@ static int do_vio_entry(const char *filename, void *symval,
        return 1;
 }
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-
 static void do_input(char *alias,
                     kernel_ulong_t *arr, unsigned int min, unsigned int max)
 {
index 2806a5c528c8c51d584f8019dffd7e6bab41573b..fc8ba8585d23c62554b0e5591bd290ed60904728 100644 (file)
@@ -1049,8 +1049,6 @@ static const struct sectioncheck *section_mismatch(
                const char *fromsec, const char *tosec)
 {
        int i;
-       int elems = sizeof(sectioncheck) / sizeof(struct sectioncheck);
-       const struct sectioncheck *check = &sectioncheck[0];
 
        /*
         * The target section could be the SHT_NUL section when we're
@@ -1061,14 +1059,15 @@ static const struct sectioncheck *section_mismatch(
        if (*tosec == '\0')
                return NULL;
 
-       for (i = 0; i < elems; i++) {
+       for (i = 0; i < ARRAY_SIZE(sectioncheck); i++) {
+               const struct sectioncheck *check = &sectioncheck[i];
+
                if (match(fromsec, check->fromsec)) {
                        if (check->bad_tosec[0] && match(tosec, check->bad_tosec))
                                return check;
                        if (check->good_tosec[0] && !match(tosec, check->good_tosec))
                                return check;
                }
-               check++;
        }
        return NULL;
 }
index d9daeff07b83ccffc77e687f94bde7814adac1d8..044bdfb894b720fcefb786512f2d8b6728d9f6a8 100644 (file)
@@ -97,6 +97,9 @@ static inline void __endian(const void *src, void *dest, unsigned int size)
 #endif
 
 #define NOFAIL(ptr)   do_nofail((ptr), #ptr)
+
+#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+
 void *do_nofail(void *ptr, const char *expr);
 
 struct buffer {