Enforce module signatures when securelevel is greater than 0
authorMatthew Garrett <mjg59@srcf.ucam.org>
Mon, 9 Sep 2013 12:46:52 +0000 (08:46 -0400)
committerAurelien Jarno <aurel32@debian.org>
Fri, 2 Mar 2018 07:52:22 +0000 (07:52 +0000)
If securelevel has been set to 1 or greater, require that all modules have
valid signatures.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Gbp-Pq: Topic features/all/securelevel
Gbp-Pq: Name enforce-module-signatures-when-securelevel-is-greate.patch

kernel/module.c

index 07bfb9971f2fb7b55f52bbe677e5f9afd8b84d53..fd798970491ebd55c1430ac3b25cffac43e16daa 100644 (file)
@@ -2745,7 +2745,7 @@ static int module_sig_check(struct load_info *info, int flags)
        }
 
        /* Not having a signature is only an error if we're strict. */
-       if (err == -ENOKEY && !sig_enforce)
+       if ((err == -ENOKEY && !sig_enforce) && (get_securelevel() <= 0))
                err = 0;
 
        return err;