CONFIG_CRASH_DM_CRYPT has been introduced to support LUKS-encrypted device dump target by addressing two challenges [1], - Kdump kernel may not be able to decrypt the LUKS partition. For some machines, a system administrator may not have a chance to enter the password to decrypt the device in kdump initramfs after the 1st kernel crashes
- LUKS2 by default use the memory-hard Argon2 key derivation function which is quite memory-consuming compared to the limited memory reserved for kdump. To also enable this feature for ARM64 and PowerPC, we only need to add a device tree property dmcryptkeys [2] as similar to elfcorehdr to pass the memory address of the stored info of dm-crypt keys to the kdump kernel. [1] https://lore.kernel.org/all/[email protected]/ [2] https://github.com/devicetree-org/dt-schema/pull/181 v4 - Make arch-specific code more succinct by printing more logs in arch-independent code [Will Deacon] - Also use device tree for PowerPC to pass memory address of dm-crypt keys info - powerpc v2 patch that passes the dmcryptkeys kernel cmdline parameter: https://lore.kernel.org/all/[email protected]/ v3 - Delete the property after reading it [Rob Herring] v2 - Krzysztof - Use imperative mood for commit message - Add dt-schema ABI Documentation https://github.com/devicetree-org/dt-schema/pull/181 - Don't print dm-crypt keys address via pr_debug Coiby Xu (2): crash_dump/dm-crypt: Don't print in arch-specific code arm64,ppc64le/kdump: pass dm-crypt keys to kdump kernel arch/arm64/kernel/machine_kexec_file.c | 4 ++++ arch/powerpc/kexec/elf_64.c | 4 ++++ arch/x86/kernel/kexec-bzimage64.c | 6 +----- drivers/of/fdt.c | 21 +++++++++++++++++++++ drivers/of/kexec.c | 19 +++++++++++++++++++ kernel/crash_dump_dm_crypt.c | 7 +++++-- 6 files changed, 54 insertions(+), 7 deletions(-) base-commit: 2619c62b7ef2f463bcbbb34af122689c09855c23 -- 2.53.0
