[PATCH V35 09/29] kexec_file: Restrict at runtime if the kernel is locked down

From
Matthew Garrett <hidden>
Date
2019-07-15 20:02:25
Also in
kexec, linux-security-module, lkml
Reply to
Matthew Garrett, 2019-07-15
From: Jiri Bohac <redacted>

When KEXEC_SIG is not enabled, kernel should not load images through
kexec_file systemcall if the kernel is locked down.

[Modified by David Howells to fit with modifications to the previous patch
 and to return -EPERM if the kernel is locked down for consistency with
 other lockdowns. Modified by Matthew Garrett to remove the IMA
 integration, which will be replaced by integrating with the IMA
 architecture policy patches.]

Signed-off-by: Jiri Bohac <redacted>
Signed-off-by: David Howells <redacted>
Signed-off-by: Matthew Garrett <redacted>
Reviewed-by: Jiri Bohac <redacted>
Reviewed-by: Kees Cook <redacted>
cc: <redacted>
---
 kernel/kexec_file.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
index 875482c34154..dd06f1070d66 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
@@ -228,7 +228,10 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd,
 			goto out;
 		}
 
-		ret = 0;
+		ret = security_locked_down(LOCKDOWN_KEXEC);
+		if (ret)
+			goto out;
+
 		break;
 
 		/* All other errors are fatal, including nomem, unparseable
-- 
2.22.0.510.g264f2c817a-goog
Thread (38 messages) 38 messages, 6 authors, last reply 2019-07-16
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help