mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-08-15 02:08:01 +00:00
lockdown: Enforce module signatures if the kernel is locked down
If the kernel is locked down, require that all modules have valid signatures that we can verify. I have adjusted the errors generated: (1) If there's no signature (ENODATA) or we can't check it (ENOPKG, ENOKEY), then: (a) If signatures are enforced then EKEYREJECTED is returned. (b) If there's no signature or we can't check it, but the kernel is locked down then EPERM is returned (this is then consistent with other lockdown cases). (2) If the signature is unparseable (EBADMSG, EINVAL), the signature fails the check (EKEYREJECTED) or a system error occurs (eg. ENOMEM), we return the error we got. Note that the X.509 code doesn't check for key expiry as the RTC might not be valid or might not have been transferred to the kernel's clock yet. [Modified by Matthew Garrett to remove the IMA integration. This will be replaced with integration with the IMA architecture policy patchset.] Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Matthew Garrett <matthewgarrett@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Cc: Jessica Yu <jeyu@kernel.org> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
000d388ed3
commit
49fcf732bd
5 changed files with 39 additions and 8 deletions
include/linux
|
@ -103,6 +103,7 @@ enum lsm_event {
|
|||
*/
|
||||
enum lockdown_reason {
|
||||
LOCKDOWN_NONE,
|
||||
LOCKDOWN_MODULE_SIGNATURE,
|
||||
LOCKDOWN_INTEGRITY_MAX,
|
||||
LOCKDOWN_CONFIDENTIALITY_MAX,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue