[PATCH v2 4/9] crash_dump: Read the number of dm-crypt keys from reserved memory
Coiby Xu
coiby.xu at gmail.com
Fri Jul 10 00:59:19 PDT 2026
On Wed, May 06, 2026 at 07:48:00PM +0530, Sourabh Jain wrote:
>
>
>On 02/05/26 05:13, Coiby Xu wrote:
>>In case user adds/deletes the keys by mistake, it's safer to read the
>>number of keys from reserved memory.
>>
>>Fixes: 9ebfa8dcaea7 ("crash_dump: reuse saved dm crypt keys for CPU/memory hot-plugging")
>>Reported-and-Suggested-by: Sourabh Jain <sourabhjain at linux.ibm.com>
>>Signed-off-by: Coiby Xu <coiby.xu at gmail.com>
>>---
>> kernel/crash_dump_dm_crypt.c | 36 +++++++++++++++++++++++-------------
>> 1 file changed, 23 insertions(+), 13 deletions(-)
>>
>>diff --git a/kernel/crash_dump_dm_crypt.c b/kernel/crash_dump_dm_crypt.c
>>index 6377ee86ec50..a3e460714d23 100644
>>--- a/kernel/crash_dump_dm_crypt.c
>>+++ b/kernel/crash_dump_dm_crypt.c
>>@@ -88,21 +88,31 @@ static int get_keys_from_kdump_reserved_memory(void)
>> {
>> struct keys_header *keys_header_loaded;
>> size_t keys_header_size;
>>-
>>- keys_header_size = get_keys_header_size(key_count);
>>- keys_header = kzalloc(keys_header_size, GFP_KERNEL);
>>- if (!keys_header)
>>- return -ENOMEM;
>>+ int r = 0;
>> arch_kexec_unprotect_crashkres();
>> keys_header_loaded = kmap_local_page(pfn_to_page(
>> kexec_crash_image->dm_crypt_keys_addr >> PAGE_SHIFT));
>>+ if (keys_header_loaded->total_keys <= 0 ||
>>+ keys_header_loaded->total_keys > KEY_NUM_MAX) {
>>+ pr_warn("keys_header saved to reserved memory may be corrupt\n");
>>+ r = -EINVAL;
>>+ goto kunmap;
>>+ }
>
>Yes it is good to do a sanity check before using it.
>
>- Sourabh Jain
Thanks! Yeah, better safe than sorry!
--
Best regards,
Coiby
More information about the kexec
mailing list