LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Mimi Zohar <zohar@linux.vnet.ibm.com> To: linux-integrity@vger.kernel.org Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, David Howells <dhowells@redhat.com>, "Luis R . Rodriguez" <mcgrof@kernel.org>, Eric Biederman <ebiederm@xmission.com>, kexec@lists.infradead.org, Andres Rodriguez <andresx7@gmail.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Ard Biesheuvel <ard.biesheuvel@linaro.org>, Kees Cook <keescook@chromium.org> Subject: [PATCH v3 2/7] kexec: add call to LSM hook in original kexec_load syscall Date: Thu, 24 May 2018 07:09:31 -0400 [thread overview] Message-ID: <1527160176-29269-3-git-send-email-zohar@linux.vnet.ibm.com> (raw) In-Reply-To: <1527160176-29269-1-git-send-email-zohar@linux.vnet.ibm.com> In order for LSMs and IMA-appraisal to differentiate between the original and new syscalls, both the original and new syscalls must call an LSM hook. This patch adds a call to security_kernel_read_data() in the original kexec syscall. Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Cc: Eric Biederman <ebiederm@xmission.com> Cc: Luis R. Rodriguez <mcgrof@kernel.org> Cc: Kees Cook <keescook@chromium.org> Cc: David Howells <dhowells@redhat.com> --- kernel/kexec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/kexec.c b/kernel/kexec.c index aed8fb2564b3..061ada41c18c 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -11,6 +11,7 @@ #include <linux/capability.h> #include <linux/mm.h> #include <linux/file.h> +#include <linux/security.h> #include <linux/kexec.h> #include <linux/mutex.h> #include <linux/list.h> @@ -195,10 +196,17 @@ static int do_kexec_load(unsigned long entry, unsigned long nr_segments, static inline int kexec_load_check(unsigned long nr_segments, unsigned long flags) { + int result; + /* We only trust the superuser with rebooting the system. */ if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) return -EPERM; + /* Permit LSMs and IMA to fail the kexec */ + result = security_kernel_read_data(NULL, READING_KEXEC_IMAGE); + if (result < 0) + return result; + /* * Verify we have a legal set of flags * This leaves us room for future extensions. -- 2.7.5
next prev parent reply other threads:[~2018-05-24 11:10 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-24 11:09 [PATCH v3 0/7] kexec/firmware: support system wide policy requiring signatures Mimi Zohar 2018-05-24 11:09 ` [PATCH v3 1/7] security: rename security_kernel_read_file() hook Mimi Zohar 2018-05-24 20:49 ` Eric W. Biederman 2018-05-24 23:29 ` Mimi Zohar 2018-05-25 12:22 ` Mimi Zohar 2018-05-25 15:41 ` James Morris 2018-05-25 19:51 ` Eric W. Biederman 2018-05-29 20:32 ` James Morris 2018-05-29 21:10 ` Eric W. Biederman 2018-05-24 11:09 ` Mimi Zohar [this message] 2018-05-24 20:50 ` [PATCH v3 2/7] kexec: add call to LSM hook in original kexec_load syscall Eric W. Biederman 2018-05-24 11:09 ` [PATCH v3 3/7] ima: based on policy require signed kexec kernel images Mimi Zohar 2018-05-24 11:09 ` [PATCH v3 4/7] firmware: add call to LSM hook before firmware sysfs fallback Mimi Zohar 2018-05-24 11:09 ` [PATCH v3 5/7] ima: based on policy require signed firmware (sysfs fallback) Mimi Zohar 2018-05-24 11:09 ` [PATCH v3 6/7] ima: add build time policy Mimi Zohar 2018-05-24 11:09 ` [RFC PATCH v3 7/7] ima: based on policy prevent loading firmware (pre-allocated buffer) Mimi Zohar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1527160176-29269-3-git-send-email-zohar@linux.vnet.ibm.com \ --to=zohar@linux.vnet.ibm.com \ --cc=andresx7@gmail.com \ --cc=ard.biesheuvel@linaro.org \ --cc=dhowells@redhat.com \ --cc=ebiederm@xmission.com \ --cc=gregkh@linuxfoundation.org \ --cc=keescook@chromium.org \ --cc=kexec@lists.infradead.org \ --cc=linux-integrity@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=mcgrof@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).