MODSIGN: Provide module signing public keys to the kernel
authorDavid Howells <dhowells@redhat.com>
Wed, 26 Sep 2012 09:09:51 +0000 (10:09 +0100)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 10 Oct 2012 09:31:22 +0000 (20:01 +1030)
commit631cc66eb9eaa7296e303197ff1eb0f55e32b61d
tree631c962060a776a16ec35c477e99d4ef87c8db24
parentd441108c6f77541bb66fcd5b3389415b4c232008
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>
kernel/Makefile
kernel/modsign_pubkey.c [new file with mode: 0644]
kernel/module-internal.h