[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251021102327.199099-3-ankita@nvidia.com>
Date: Tue, 21 Oct 2025 10:23:26 +0000
From: <ankita@...dia.com>
To: <ankita@...dia.com>, <aniketa@...dia.com>, <vsethi@...dia.com>,
<jgg@...dia.com>, <mochs@...dia.com>, <skolothumtho@...dia.com>,
<linmiaohe@...wei.com>, <nao.horiguchi@...il.com>,
<akpm@...ux-foundation.org>, <david@...hat.com>,
<lorenzo.stoakes@...cle.com>, <Liam.Howlett@...cle.com>, <vbabka@...e.cz>,
<rppt@...nel.org>, <surenb@...gle.com>, <mhocko@...e.com>,
<tony.luck@...el.com>, <bp@...en8.de>, <rafael@...nel.org>,
<guohanjun@...wei.com>, <mchehab@...nel.org>, <lenb@...nel.org>,
<kevin.tian@...el.com>, <alex@...zbot.org>
CC: <cjia@...dia.com>, <kwankhede@...dia.com>, <targupta@...dia.com>,
<zhiw@...dia.com>, <dnigam@...dia.com>, <kjaju@...dia.com>,
<linux-kernel@...r.kernel.org>, <linux-mm@...ck.org>,
<linux-edac@...r.kernel.org>, <Jonathan.Cameron@...wei.com>,
<ira.weiny@...el.com>, <Smita.KoralahalliChannabasappa@....com>,
<u.kleine-koenig@...libre.com>, <peterz@...radead.org>,
<linux-acpi@...r.kernel.org>, <kvm@...r.kernel.org>
Subject: [PATCH v3 2/3] mm: Change ghes code to allow poison of non-struct pfn
From: Ankit Agrawal <ankita@...dia.com>
The GHES code allows calling of memory_failure() on the PFNs that pass the
pfn_valid() check. This contract is broken for the remapped PFNs which
fails the check and ghes_do_memory_failure() returns without triggering
memory_failure().
Update code to allow memory_failure() call on PFNs failing pfn_valid().
Signed-off-by: Ankit Agrawal <ankita@...dia.com>
---
drivers/acpi/apei/ghes.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index a0d54993edb3..bc4d0f2b3e9d 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -505,12 +505,6 @@ static bool ghes_do_memory_failure(u64 physical_addr, int flags)
return false;
pfn = PHYS_PFN(physical_addr);
- if (!pfn_valid(pfn) && !arch_is_platform_page(physical_addr)) {
- pr_warn_ratelimited(FW_WARN GHES_PFX
- "Invalid address in generic error data: %#llx\n",
- physical_addr);
- return false;
- }
if (flags == MF_ACTION_REQUIRED && current->mm) {
twcb = (void *)gen_pool_alloc(ghes_estatus_pool, sizeof(*twcb));
--
2.34.1
Powered by blists - more mailing lists