From: Michal Hocko <mhocko@suse.com>
To: Pingfan Liu <kernelfans@gmail.com>
Cc: kexec@lists.infradead.org, Pingfan Liu <piliu@redhat.com>,
Jiri Bohac <jbohac@suse.cz>, Philipp Rudo <prudo@redhat.com>,
Baoquan He <bhe@redhat.com>, Dave Young <dyoung@redhat.com>
Subject: Re: [RFC 0/3] kdump: Check mem_map of CMA area in kdump
Date: Mon, 18 Dec 2023 16:19:20 +0100 [thread overview]
Message-ID: <ZYBi-Ljt2yhrEIUc@tiehlicka> (raw)
In-Reply-To: <20231218052325.20982-1-kernelfans@gmail.com>
On Mon 18-12-23 13:23:22, Pingfan Liu wrote:
> From: Pingfan Liu <piliu@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.
I didn't have time to look deeper into implementation (and I will get
back to it only early Jan) but mapcount based checks are really tricky
and unreliable. folio_maybe_dma_pinned sounds like a better test. You
definitely want to have that checked by more MM people and CC linux-mm.
> 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?
We alredy do have vm_debug=P which enables init time poisoning
on all struct pages. The value is then checked when the page is
allocated.
> Please share your thoughts.
Having a sanity check on exported cma pages makes some sense to me. The
exact check might be more involved with false positives but they
shouldn't be a major problem unless there are too many of them.
--
Michal Hocko
SUSE Labs
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2023-12-18 15:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-18 5:23 [RFC 0/3] kdump: Check mem_map of CMA area in kdump Pingfan Liu
2023-12-18 5:23 ` [RFC 1/3] crash_dump: Parse the CMA's mem_map " Pingfan Liu
2023-12-18 5:23 ` [RFC 2/3] of: kexec: Set up properties for reusing CMA " Pingfan Liu
2023-12-18 5:23 ` [RFC 3/3] of: fdt: Parse properties of " Pingfan Liu
2023-12-18 15:19 ` Michal Hocko [this message]
2023-12-19 15:20 ` [RFC 0/3] kdump: Check mem_map of CMA area " Philipp Rudo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZYBi-Ljt2yhrEIUc@tiehlicka \
--to=mhocko@suse.com \
--cc=bhe@redhat.com \
--cc=dyoung@redhat.com \
--cc=jbohac@suse.cz \
--cc=kernelfans@gmail.com \
--cc=kexec@lists.infradead.org \
--cc=piliu@redhat.com \
--cc=prudo@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.