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)
committerYves-Alexis Perez <corsac@debian.org>
Wed, 21 Feb 2018 15:29:03 +0000 (15:29 +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;