From: Zi Yan <ziy@nvidia.com>
To: "David Hildenbrand (arm)" <david@kernel.org>, 是参差 <shicenci@gmail.com>
Cc: linux-mm@kvack.org, linmiaohe@huawei.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
Matthew Wilcox <willy@infradead.org>
Subject: Re: WARNING in memory_failure() at include/linux/huge_mm.h:635 triggered
Date: Wed, 04 Feb 2026 16:41:03 -0500 [thread overview]
Message-ID: <94DAA11B-597F-4F8F-AFFF-9D7626A7C091@nvidia.com> (raw)
In-Reply-To: <1bfc9e64-2961-4d2c-a6c3-fb123f66e6cc@kernel.org>
On 4 Feb 2026, at 16:37, David Hildenbrand (arm) wrote:
> On 2/4/26 22:08, Zi Yan wrote:
>> On 4 Feb 2026, at 14:18, David Hildenbrand (arm) wrote:
>>
>>> On 2/4/26 18:41, Zi Yan wrote:
>>>>
>>>>
>>>> More details:
>>>> later at sg_vma_fault(), the driver just handles a page fault by supplying
>>>> a subpage from a pre-allocated compound page[3]. We then get a large folio
>>>> without !CONFIG_TRANSPARENT_HUGEPAGE.
>>>
>>> We can identify such non-folio (but compound) things by looking at PG_large_rmappable IIRC.
>>
>> OK, back to the issue. The patch below should fix the issue?
>>
>> Hi 是参差,
>>
>> Can you test it?
>>
<snip>
> I think you have to test for folio_test_large() before testing folio_test_large_rmappable().
Oh, forgot that. Thanks.
From 8dda4bba9964890462eca3ef3cce57bb4fab8313 Mon Sep 17 00:00:00 2001
From: Zi Yan <ziy@nvidia.com>
Date: Wed, 4 Feb 2026 16:04:19 -0500
Subject: [PATCH] mm/memory_failure: reject unsupported non-folio compound page
Signed-off-by: Zi Yan <ziy@nvidia.com>
---
mm/memory-failure.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 825c706ac576..137c67fda57e 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2440,9 +2440,13 @@ int memory_failure(unsigned long pfn, int flags)
folio = page_folio(p);
- /* filter pages that are protected from hwpoison test by users */
+ /*
+ * filter pages that are protected from hwpoison test by users
+ * or unsupported non folio compound pages
+ */
folio_lock(folio);
- if (hwpoison_filter(p)) {
+ if (hwpoison_filter(p) ||
+ (folio_test_large(folio) && !folio_test_large_rmappable(folio))) {
ClearPageHWPoison(p);
folio_unlock(folio);
folio_put(folio);
--
2.51.0
Best Regards,
Yan, Zi
next prev parent reply other threads:[~2026-02-04 21:41 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-04 12:49 是参差
2026-02-04 17:12 ` David Hildenbrand (arm)
2026-02-04 17:15 ` David Hildenbrand (arm)
2026-02-04 17:23 ` Zi Yan
2026-02-04 17:34 ` Zi Yan
2026-02-04 17:41 ` Zi Yan
2026-02-04 19:18 ` David Hildenbrand (arm)
2026-02-04 19:48 ` Zi Yan
2026-02-04 19:55 ` David Hildenbrand (arm)
2026-02-04 20:13 ` Zi Yan
2026-02-04 20:31 ` David Hildenbrand (arm)
2026-02-04 20:45 ` Zi Yan
2026-02-04 21:14 ` David Hildenbrand (arm)
2026-02-04 21:08 ` Zi Yan
2026-02-04 21:37 ` David Hildenbrand (arm)
2026-02-04 21:41 ` Zi Yan [this message]
2026-02-05 2:00 ` jane.chu
2026-02-05 3:21 ` Miaohe Lin
2026-02-05 3:53 ` Zi Yan
2026-02-05 7:18 ` Miaohe Lin
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=94DAA11B-597F-4F8F-AFFF-9D7626A7C091@nvidia.com \
--to=ziy@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=david@kernel.org \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=shicenci@gmail.com \
--cc=willy@infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox