diff options
author | David Howells <dhowells@redhat.com> | 2012-09-26 10:09:51 +0100 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-10-10 20:01:22 +1030 |
commit | 631cc66eb9eaa7296e303197ff1eb0f55e32b61d (patch) | |
tree | 631c962060a776a16ec35c477e99d4ef87c8db24 /kernel/module-internal.h | |
parent | d441108c6f77541bb66fcd5b3389415b4c232008 (diff) | |
download | lwn-631cc66eb9eaa7296e303197ff1eb0f55e32b61d.tar.gz lwn-631cc66eb9eaa7296e303197ff1eb0f55e32b61d.zip |
MODSIGN: Provide module signing public keys to the kernel
Include a PGP keyring containing the public keys required to perform module
verification in the kernel image during build and create a special keyring
during boot which is then populated with keys of crypto type holding the public
keys found in the PGP keyring.
These can be seen by root:
[root@andromeda ~]# cat /proc/keys
07ad4ee0 I----- 1 perm 3f010000 0 0 crypto modsign.0: RSA 87b9b3bd []
15c7f8c3 I----- 1 perm 1f030000 0 0 keyring .module_sign: 1/4
...
It is probably worth permitting root to invalidate these keys, resulting in
their removal and preventing further modules from being loaded with that key.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'kernel/module-internal.h')
-rw-r--r-- | kernel/module-internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/module-internal.h b/kernel/module-internal.h index 033c17fd70ef..6114a13419bd 100644 --- a/kernel/module-internal.h +++ b/kernel/module-internal.h @@ -9,5 +9,7 @@ * 2 of the Licence, or (at your option) any later version. */ +extern struct key *modsign_keyring; + extern int mod_verify_sig(const void *mod, unsigned long modlen, const void *sig, unsigned long siglen); |