[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190118091733.29940-1-kasong@redhat.com>
Date: Fri, 18 Jan 2019 17:17:31 +0800
From: Kairui Song <kasong@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: dhowells@...hat.com, dwmw2@...radead.org,
jwboyer@...oraproject.org, keyrings@...r.kernel.org,
jmorris@...ei.org, serge@...lyn.com, zohar@...ux.ibm.com,
bauerman@...ux.ibm.com, ebiggers@...gle.com, nayna@...ux.ibm.com,
dyoung@...hat.com, linux-integrity@...r.kernel.org,
kexec@...ts.infradead.org, Kairui Song <kasong@...hat.com>
Subject: [PATCH v4 0/2] let kexec_file_load use platform keyring to verify the kernel image
This patch series adds a .platform_trusted_keys in system_keyring as the
reference to .platform keyring in integrity subsystem, when platform
keyring is being initialized it will be updated. So other component could
use this keyring as well.
This patch series also let kexec_file_load use platform keyring as fall
back if it failed to verify the image against secondary keyring, make it
possible to load kernel signed by keys provides by firmware.
After this patch kexec_file_load will be able to verify a signed PE
bzImage using keys in platform keyring.
Tested in a VM with locally signed kernel with pesign and imported the
cert to EFI's MokList variable.
To test this patch series on latest kernel, you need to ensure this commit
is applied as there is an regression bug in sanity_check_segment_list():
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=993a110319a4a60aadbd02f6defdebe048f7773b
Update from V3:
- Tweak and simplify commit message as suggested by Mimi Zohar
Update from V2:
- Use IS_ENABLED in kexec_file_load to judge if platform_trusted_keys
should be used for verifying image as suggested by Mimi Zohar
Update from V1:
- Make platform_trusted_keys static, and update commit message as suggested
by Mimi Zohar
- Always check if platform keyring is initialized before use it
Kairui Song (2):
integrity, KEYS: add a reference to platform keyring
kexec, KEYS: Make use of platform keyring for signature verify
arch/x86/kernel/kexec-bzimage64.c | 13 ++++++++++---
certs/system_keyring.c | 22 +++++++++++++++++++++-
include/keys/system_keyring.h | 5 +++++
include/linux/verification.h | 1 +
security/integrity/digsig.c | 6 ++++++
5 files changed, 43 insertions(+), 4 deletions(-)
--
2.20.1
Powered by blists - more mailing lists