]> git.itanic.dy.fi Git - linux-stable/commitdiff
modpost: remove more symbol patterns from the section check whitelist
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 22 Oct 2023 17:06:07 +0000 (02:06 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 28 Oct 2023 12:31:22 +0000 (21:31 +0900)
These symbol patterns were whitelisted to allow them to reference to
functions with the old __devinit and __devexit annotations.

We stopped doing this a long time ago, for example, commit 6f039790510f
("Drivers: scsi: remove __dev* attributes.") remove those annotations
from the scsi drivers.

Keep *_ops, *_probe, and *_console, otherwise they will really cause
section mismatch warnings.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/mod/modpost.c

index 792ba9da0f270d8e6499a0c39fa226e1e03235ef..4973b798a4697f000958e9a0d6e0efa0e4f5ce2a 100644 (file)
@@ -997,13 +997,7 @@ static int secref_whitelist(const char *fromsec, const char *fromsym,
        /* symbols in data sections that may refer to any init/exit sections */
        if (match(fromsec, PATTERNS(DATA_SECTIONS)) &&
            match(tosec, PATTERNS(ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS)) &&
-           match(fromsym, PATTERNS("*_template", // scsi uses *_template a lot
-                                   "*_timer", // arm uses ops structures named _timer a lot
-                                   "*_sht", // scsi also used *_sht to some extent
-                                   "*_ops",
-                                   "*_probe",
-                                   "*_probe_one",
-                                   "*_console")))
+           match(fromsym, PATTERNS("*_ops", "*_probe", "*_console")))
                return 0;
 
        /*