From: Breno Leitao <leitao@debian.org>
To: Kiryl Shutsemau <kas@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Miaohe Lin <linmiaohe@huawei.com>,
Naoya Horiguchi <nao.horiguchi@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, rmikey@meta.com, riel@surriel.com,
kexec@lists.infradead.org, kernel-team@meta.com
Subject: Re: [PATCH v2 6/6] efi: respect the poisoned pages coming from previous kernel
Date: Mon, 24 Aug 2026 06:03:05 -0700 [thread overview]
Message-ID: <aow_bfUQWZWh7Kxb@gmail.com> (raw)
In-Reply-To: <aowcYuXEeqdfHmn6@thinkstation>
On Mon, Aug 24, 2026 at 11:32:35AM +0100, Kiryl Shutsemau wrote:
> I wounder if the fix would be to make page allocator consume the table
> and not do memblock_reserve() here? So we would allocate struct pages
> for the memory and poison them on init. And your fix by the link below
> would do the rest.
Makes sense. Probably dropping memblock_reserve() altogether, for the
units and the table, and poisoning the recorded frames at
mm_core_init(), right after memblock_free_all().
Roughly what I have in mind:
memblock_free_all();
hwpoison_init_boot();
mem_init();
and hwpoison_init_boot() drives it from the table, walking the bitmap on
the EFI side where the geometry lives:
for_each_set_bit(bit, map, nbits) {
u64 unit = off * BITS_PER_BYTE + bit;
unsigned long pfn, i;
pfn = PHYS_PFN(phys_base + unit * unit_size);
for (i = 0; i < unit_size >> PAGE_SHIFT; i++)
hwpoison_boot_pfn(pfn + i);
}
mm/memory-failure.c gets the per page primitive:
bool __init hwpoison_boot_pfn(unsigned long pfn)
{
struct page *page = pfn_to_online_page(pfn);
if (!page || PageHWPoison(page))
return false;
if (!is_free_buddy_page(page) || !take_page_off_buddy(page))
return false;
SetPageHWPoison(page);
page_ref_inc(page);
atomic_long_inc(&num_poisoned_pages);
return true;
}
Yea, this seems better in fact. Let me know if that matches what you
had in mind.
Thanks!
--breno
next prev parent reply other threads:[~2026-08-24 13:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 10:06 [PATCH v2 0/6] efi: mm/memory-failure: keep hardware-poisoned pages out of the next kexec Breno Leitao
2026-08-21 10:06 ` [PATCH v2 1/6] efi/libstub: add a helper for the top of usable RAM Breno Leitao
2026-08-21 11:04 ` Kiryl Shutsemau
2026-08-21 10:06 ` [PATCH v2 2/6] efi: add the LINUX_EFI_POISONED_MEMORY configuration table Breno Leitao
2026-08-21 11:51 ` Kiryl Shutsemau
2026-08-21 12:03 ` Pratyush Yadav
2026-08-21 14:11 ` Breno Leitao
2026-08-21 14:04 ` Breno Leitao
2026-08-21 10:06 ` [PATCH v2 3/6] efi/libstub: add the poisoned-memory EFI table Breno Leitao
2026-08-21 10:06 ` [PATCH v2 4/6] efi/libstub: install the poisoned-memory table from the stub Breno Leitao
2026-08-21 10:06 ` [PATCH v2 5/6] efi: record hardware-poisoned frames into the poisoned-memory table Breno Leitao
2026-08-21 10:06 ` [PATCH v2 6/6] efi: respect the poisoned pages coming from previous kernel Breno Leitao
2026-08-21 12:13 ` Kiryl Shutsemau
2026-08-21 14:03 ` Breno Leitao
2026-08-21 14:53 ` Kiryl Shutsemau
2026-08-21 16:43 ` Breno Leitao
2026-08-24 10:32 ` Kiryl Shutsemau
2026-08-24 13:03 ` Breno Leitao [this message]
2026-08-24 15:19 ` Kiryl Shutsemau
2026-08-21 10:29 ` [PATCH v2 0/6] efi: mm/memory-failure: keep hardware-poisoned pages out of the next kexec Kiryl Shutsemau
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=aow_bfUQWZWh7Kxb@gmail.com \
--to=leitao@debian.org \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=ilias.apalodimas@linaro.org \
--cc=kas@kernel.org \
--cc=kernel-team@meta.com \
--cc=kexec@lists.infradead.org \
--cc=linmiaohe@huawei.com \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nao.horiguchi@gmail.com \
--cc=riel@surriel.com \
--cc=rmikey@meta.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.