Re: [RFC PATCH 1/3] mm: make persistent huge zero folio read-only

From: Lance Yang

Date: Mon Jun 01 2026 - 11:54:14 EST




On 2026/6/1 21:49, David Hildenbrand (Arm) wrote:
On 5/27/26 17:55, Dave Hansen wrote:
On 5/26/26 20:56, Xueyuan chen wrote:> +#ifdef
CONFIG_READONLY_HUGE_ZERO_FOLIO
+bool __init arch_make_huge_zero_folio_readonly(struct folio *folio);
+#endif

All of the #ifdeffery needs to die, IMNHO.

This function is also a bad idea. There is nothing "huge zero" specific
about it. It takes any old folio and tries to make it read only.

Just make it:

bool __init arch_make_folio_readonly(struct folio *folio)


I'm not sure whether we want a folio-based interface, though.

This will likely be the only folio (that will actually have a "struct folio" in
the future) compound page we'll ever mark read-only ... whereby I'd guess we'd
want other non-folio pages to be read-only in the future (encryption keys etc,
maybe?).

So I'd instead use a page-range based interface or sth like that.

Just to check, did you mean something like:

bool arch_make_pages_readonly(struct page *page, int nr_pages);

?

So it can work on pages as well, not only folios :)