On Tue Apr 21, 2026 at 4:55 PM UTC, Marc Zyngier wrote: > On Fri, 10 Apr 2026 16:19:24 +0100, > "Kalyazin, Nikita" <[email protected]> wrote: >> >> From: Patrick Roy <[email protected]> >> >> Support for GUEST_MEMFD_FLAG_NO_DIRECT_MAP on arm64 depends on 1) direct >> map manipulations at 4k granularity being possible, and 2) FEAT_S2FWB. >> >> 1) is met whenever the direct map is set up at 4k granularity (e.g. not >> with huge/gigantic pages) at boottime, as due to ARM's >> break-before-make semantics, breaking huge mappings into 4k mappings in >> the direct map is not possible (BBM would require temporary invalidation >> of the entire huge mapping, even if only a 4k subrange should be zapped, >> which will probably crash the kernel). However, the current default for >> rodata_full is true, which forces a 4k direct map. > > Where is this 4kB requirement enforced? Or is it that you means > "PAGE_SIZE"?
Yeah I believe this means PAGE_SIZE and that it's effectively enforced by checking can_set_direct_map() in kvm_arch_gmem_supports_no_direct_map().

