With the addition of hash-based integrity checking, the configuration
matrix is easier to represent in a dedicated function and with explicit
usage of IS_ENABLED().

Drop the now unnecessary stub for module_sig_check().

Signed-off-by: Thomas Weißschuh <li...@weissschuh.net>
---
 kernel/module/internal.h |  7 -------
 kernel/module/main.c     | 18 ++++++++++++++----
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/kernel/module/internal.h b/kernel/module/internal.h
index 
daef2be8390222c22220e2f168baa8d35ad531b9..c30abeefa60b884c4a69b1eb4f1123a4bbee4b47
 100644
--- a/kernel/module/internal.h
+++ b/kernel/module/internal.h
@@ -333,14 +333,7 @@ int module_enable_text_rox(const struct module *mod);
 int module_enforce_rwx_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs,
                                char *secstrings, struct module *mod);
 
-#ifdef CONFIG_MODULE_SIG
 int module_sig_check(struct load_info *info, int flags);
-#else /* !CONFIG_MODULE_SIG */
-static inline int module_sig_check(struct load_info *info, int flags)
-{
-       return 0;
-}
-#endif /* !CONFIG_MODULE_SIG */
 
 #ifdef CONFIG_DEBUG_KMEMLEAK
 void kmemleak_load_module(const struct module *mod, const struct load_info 
*info);
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 
8aa593fee22a227a482466dceda4a6b657b956e0..c0ab5c37f9710a0091320c4d171275e63be9217e
 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -3214,6 +3214,16 @@ static int early_mod_check(struct load_info *info, int 
flags)
        return err;
 }
 
+static int module_integrity_check(struct load_info *info, int flags)
+{
+       int err = 0;
+
+       if (IS_ENABLED(CONFIG_MODULE_SIG))
+               err = module_sig_check(info, flags);
+
+       return err;
+}
+
 /*
  * Allocate and load the module: note that size of section 0 is always
  * zero, and we rely on this for optional sections.
@@ -3227,18 +3237,18 @@ static int load_module(struct load_info *info, const 
char __user *uargs,
        char *after_dashes;
 
        /*
-        * Do the signature check (if any) first. All that
-        * the signature check needs is info->len, it does
+        * Do the integrity checks (if any) first. All that
+        * they need is info->len, it does
         * not need any of the section info. That can be
         * set up later. This will minimize the chances
         * of a corrupt module causing problems before
-        * we even get to the signature check.
+        * we even get to the integrity check.
         *
         * The check will also adjust info->len by stripping
         * off the sig length at the end of the module, making
         * checks against info->len more correct.
         */
-       err = module_sig_check(info, flags);
+       err = module_integrity_check(info, flags);
        if (err)
                goto free_copy;
 

-- 
2.48.1


Reply via email to