[RFC 0/3] kdump: Check mem_map of CMA area in kdump
Pingfan Liu
kernelfans at gmail.com
Sun Dec 17 21:23:22 PST 2023
From: Pingfan Liu <piliu at redhat.com>
First of all, this series is only for proof of concept. It only passes compilation.
For years, CMA is proposed to be used as crashkernel reserved memory.
But DIO prevent us to follow it since DMA may be in-flight and ruin the
kdump kernel.
This series exports the crash kernel's CMA area information through
device-tree, and kdump kernel skips any page, which refcnt!=mapcount and
has a potential DMA activity.
The exported information include:
u64 kdump_cma_pfn;
u64 kdump_cma_pg_cnt;
u64 kdump_cma_pg_paddr;
And they should be filled with Jiri's series "[PATCH 0/4] kdump:
crashkernel reservation from CMA"
After the conjunction of two series, the CMA used for kdump has only the
following risk, where the following conditions:
-1.a wrong code forges _refcnt and mapcount to the same value
-2.the page is also used by DIO
Is it acceptable, or any rescue e.g. CRC on page?
Please share your thoughts.
Thanks,
Pingfan
Cc: Jiri Bohac <jbohac at suse.cz>
Cc: Michal Hocko <mhocko at suse.com>
Cc: Philipp Rudo <prudo at redhat.com>
Cc: Baoquan He <bhe at redhat.com>
Cc: Dave Young <dyoung at redhat.com>
To: kexec at lists.infradead.org
---
Pingfan Liu (3):
crash_dump: Parse the CMA's mem_map in kdump
of: kexec: Set up properties for reusing CMA in kdump
of: fdt: Parse properties of reusing CMA in kdump
drivers/of/fdt.c | 43 +++++++++++++++++++++++
drivers/of/kexec.c | 14 ++++++++
include/linux/kexec.h | 5 +++
init/main.c | 4 +++
kernel/crash_dump.c | 80 +++++++++++++++++++++++++++++++++++++++++++
5 files changed, 146 insertions(+)
--
2.31.1
More information about the kexec
mailing list