From: Kaitao Cheng <kaitao.cheng@linux.dev>
To: "David Hildenbrand (Arm)" <david@kernel.org>,
"Huang, Ying" <ying.huang@linux.alibaba.com>,
Yuanhe Shu <xiangzao@linux.alibaba.com>
Cc: akpm@linux-foundation.org, vbabka@kernel.org,
linmiaohe@huawei.com, nao.horiguchi@gmail.com, ziy@nvidia.com,
wangkefeng.wang@huawei.com, tujinjiang@huawei.com,
mgorman@techsingularity.net, chengkaitao@kylinos.cn,
muchun.song@linux.dev, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] mm/compaction: skip folios containing hwpoisoned pages
Date: Wed, 21 Oct 2026 10:49:38 +0800 [thread overview]
Message-ID: <49966df8-c092-40de-a05a-ff6d69382dd4@linux.dev> (raw)
In-Reply-To: <9da90d76-031f-4211-b9de-439cbf7bc63d@kernel.org>
在 2026/10/20 21:58, David Hildenbrand (Arm) 写道:
> On 10/20/26 15:31, Kaitao Cheng wrote:
>>
>>
>> 在 2026/10/20 21:07, David Hildenbrand (Arm) 写道:
>>> On 10/20/26 13:27, Kaitao Cheng wrote:
>>>>
>>>>
>>>> 在 2026/10/11 21:14, Huang, Ying 写道:
>>>>
>>>> On architectures with hardware error correction and exception recovery
>>>> support, accessing faulty memory automatically triggers an exception,
>>>> which itself guarantees atomicity.
>>>>
>>>> On architectures without such support, even if we implement this logic
>>>> in copy_mc_user_highpage() and copy_mc_highpage(), checking the hwpoison
>>>> flag and copying the data remain two separate operations. They cannot
>>>> be performed atomically, so there is still a race window between them,
>>>> however small.
>>>
>>> Yes. And you need proper architecture support to fix it?
>>
>> It does require architecture support, but that doesn't seem practical, haha.
>
> Well, but that's required when an arch wants to rule out all races.
>
>>
>>>> Moving the hwpoison check after the copy might address this issue.
>>>> Is there anything wrong with my understanding?
>>>
>>> Will architectures that are not prepared for copy_mc_user_highpage() not simply
>>> crash if they trigger an MCE during an access?
>>>
>>
>> Do we need to check both before and after the copy? This feels a bit
>> redundant, and I'm not sure whether such a small race window warrants
>> an additional check.
>>
>
> I don't see how checking after the copy makes any sense? :)
>
> You already crashed if there was a problem, why check? Or what am I missing?
In cases such as transient errors, software poison injection, repeated
bit flips in memory, or bit flips in the ECC check bits themselves, a
page may be faulty while memcpy() still completes normally. If the copied
data is correct, only the PG_hwpoison flag is lost during migration. But
if the copied data is corrupted and the kernel or a process subsequently
treats it as valid, I think the consequences could be more serious than
an immediate crash. However, I cannot estimate how likely this is to happen.
--
Thanks
Kaitao Cheng
next prev parent reply other threads:[~2026-10-21 2:49 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 10:58 [PATCH 0/2] mm: don't migrate folios containing hwpoisoned pages Yuanhe Shu
2026-09-28 10:58 ` [PATCH 1/2] mm/compaction: skip " Yuanhe Shu
2026-09-28 12:12 ` David Hildenbrand (Arm)
2026-09-29 3:41 ` Yuanhe Shu
2026-10-11 13:14 ` Huang, Ying
2026-10-20 7:16 ` Yuanhe Shu
2026-10-20 7:52 ` David Hildenbrand (Arm)
2026-10-20 11:27 ` Kaitao Cheng
2026-10-20 13:07 ` David Hildenbrand (Arm)
2026-10-20 13:31 ` Kaitao Cheng
2026-10-20 13:58 ` David Hildenbrand (Arm)
2026-10-21 2:49 ` Kaitao Cheng [this message]
2026-10-21 8:27 ` David Hildenbrand (Arm)
2026-10-10 8:35 ` Kaitao Cheng
2026-09-28 10:58 ` [PATCH 2/2] mm/migrate: refuse to migrate " Yuanhe Shu
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=49966df8-c092-40de-a05a-ff6d69382dd4@linux.dev \
--to=kaitao.cheng@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=chengkaitao@kylinos.cn \
--cc=david@kernel.org \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=muchun.song@linux.dev \
--cc=nao.horiguchi@gmail.com \
--cc=tujinjiang@huawei.com \
--cc=vbabka@kernel.org \
--cc=wangkefeng.wang@huawei.com \
--cc=xiangzao@linux.alibaba.com \
--cc=ying.huang@linux.alibaba.com \
--cc=ziy@nvidia.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.