module: move check_modinfo() early to early_mod_check()
authorLuis Chamberlain <mcgrof@kernel.org>
Sun, 19 Mar 2023 21:27:39 +0000 (14:27 -0700)
committerLuis Chamberlain <mcgrof@kernel.org>
Fri, 24 Mar 2023 18:33:06 +0000 (11:33 -0700)
This moves check_modinfo() to early_mod_check(). This
doesn't make any functional changes either, as check_modinfo()
was the first call on layout_and_allocate(), so we're just
moving it back one routine and at the end.

This let's us keep separate the checkers from the allocator.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
kernel/module/main.c

index 22596cb..95fd705 100644 (file)
@@ -2273,10 +2273,6 @@ static struct module *layout_and_allocate(struct load_info *info, int flags)
        unsigned int ndx;
        int err;
 
-       err = check_modinfo(info->mod, info, flags);
-       if (err)
-               return ERR_PTR(err);
-
        /* Allow arches to frob section contents and sizes.  */
        err = module_frob_arch_sections(info->hdr, info->sechdrs,
                                        info->secstrings, info->mod);
@@ -2690,6 +2686,10 @@ static int early_mod_check(struct load_info *info, int flags)
        if (!check_modstruct_version(info, info->mod))
                return -ENOEXEC;
 
+       err = check_modinfo(info->mod, info, flags);
+       if (err)
+               return err;
+
        return 0;
 }