x86/ima: define arch_get_ima_policy() for x86
authorEric Richter <erichte@linux.ibm.com>
Tue, 9 Oct 2018 17:30:37 +0000 (23:00 +0530)
committerMimi Zohar <zohar@linux.ibm.com>
Tue, 11 Dec 2018 12:13:41 +0000 (07:13 -0500)
commitd958083a8f6408e76850bc7394976050d7e43173
tree3d28df0a128bec514ed7ab644f909e3c2aea44c6
parent6191706246de99ff2fac4b6f157f20205a0943cd
x86/ima: define arch_get_ima_policy() for x86

On x86, there are two methods of verifying a kexec'ed kernel image
signature being loaded via the kexec_file_load syscall - an architecture
specific implementaton or a IMA KEXEC_KERNEL_CHECK appraisal rule. Neither
of these methods verify the kexec'ed kernel image signature being loaded
via the kexec_load syscall.

Secure boot enabled systems require kexec images to be signed. Therefore,
this patch loads an IMA KEXEC_KERNEL_CHECK policy rule on secure boot
enabled systems not configured with CONFIG_KEXEC_VERIFY_SIG enabled.

When IMA_APPRAISE_BOOTPARAM is configured, different IMA appraise modes
(eg. fix, log) can be specified on the boot command line, allowing unsigned
or invalidly signed kernel images to be kexec'ed. This patch permits
enabling IMA_APPRAISE_BOOTPARAM or IMA_ARCH_POLICY, but not both.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
arch/x86/kernel/ima_arch.c
include/linux/ima.h
security/integrity/ima/Kconfig