On Mon, Oct 23, 2023 at 02:06:07AM +0900, Masahiro Yamada wrote: > 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 and *_console, otherwise they will really cause section > mismatch warnings. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > scripts/mod/modpost.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > index 792ba9da0f27..19b138664f75 100644 > --- a/scripts/mod/modpost.c > +++ b/scripts/mod/modpost.c > @@ -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", It seems like this one might still be needed. I see this when building certain arm64 configurations with clang. WARNING: modpost: vmlinux: section mismatch in reference: qcom_irq_combiner_probe+0x0 (section: .data) -> combiner_probe (section: .init.text) > - "*_probe_one", > - "*_console"))) > + match(fromsym, PATTERNS("*_ops", "*_console"))) > return 0; > > /* > -- > 2.40.1 >