Re: [PATCH v6 17/20] modpost: merge bad_tosec=ALL_EXIT_SECTIONS entries in sectioncheck table

From: Nick Desaulniers
Date: Thu May 25 2023 - 15:01:47 EST


On Sun, May 21, 2023 at 9:05 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> There is no distinction between TEXT_TO_ANY_EXIT and DATA_TO_ANY_EXIT.
> Just merge them.

Can something similar be done for ALL_PCI_INIT_SECTIONS and
ALL_XXXINIT_SECTIONS? (as a follow up)

Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>
> scripts/mod/modpost.c | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index aea9d6cd243d..b5f7f4811c39 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -844,8 +844,7 @@ static const char *const optim_symbols[] = { "*.constprop.*", NULL };
> enum mismatch {
> TEXT_TO_ANY_INIT,
> DATA_TO_ANY_INIT,
> - TEXT_TO_ANY_EXIT,
> - DATA_TO_ANY_EXIT,
> + TEXTDATA_TO_ANY_EXIT,
> XXXINIT_TO_SOME_INIT,
> XXXEXIT_TO_SOME_EXIT,
> ANY_INIT_TO_ANY_EXIT,
> @@ -888,14 +887,9 @@ static const struct sectioncheck sectioncheck[] = {
> .mismatch = DATA_TO_ANY_INIT,
> },
> {
> - .fromsec = { TEXT_SECTIONS, NULL },
> + .fromsec = { TEXT_SECTIONS, DATA_SECTIONS, NULL },
> .bad_tosec = { ALL_EXIT_SECTIONS, NULL },
> - .mismatch = TEXT_TO_ANY_EXIT,
> -},
> -{
> - .fromsec = { DATA_SECTIONS, NULL },
> - .bad_tosec = { ALL_EXIT_SECTIONS, NULL },
> - .mismatch = DATA_TO_ANY_EXIT,
> + .mismatch = TEXTDATA_TO_ANY_EXIT,
> },
> /* Do not reference init code/data from meminit code/data */
> {
> @@ -1162,8 +1156,7 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf,
> switch (mismatch->mismatch) {
> case TEXT_TO_ANY_INIT:
> case DATA_TO_ANY_INIT:
> - case TEXT_TO_ANY_EXIT:
> - case DATA_TO_ANY_EXIT:
> + case TEXTDATA_TO_ANY_EXIT:
> case XXXINIT_TO_SOME_INIT:
> case XXXEXIT_TO_SOME_EXIT:
> case ANY_INIT_TO_ANY_EXIT:
> --
> 2.39.2
>


--
Thanks,
~Nick Desaulniers