[ Note: in quoting the patch below, I removed the '-' lines, so the quoted part is really just all that remains after the patch ] On Sun, Nov 6, 2022 at 6:54 AM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > + if (region_is_misaligned(md)) { > + static bool __initdata code_is_misaligned; > + > /* > + * Regions that are not aligned to the OS page size cannot be > + * mapped with strict permissions, as those might interfere > + * with the permissions that are needed by the adjacent > + * region's mapping. However, if we haven't encountered any > + * misaligned runtime code regions so far, we can safely use > + * non-executable permissions for non-code regions. > */ > + code_is_misaligned |= (type == EFI_RUNTIME_SERVICES_CODE); > + > + return code_is_misaligned ? pgprot_val(PAGE_KERNEL_EXEC) > + : pgprot_val(PAGE_KERNEL); > + } Ok, this seems like a nice improvement, in how it only does PAGE_KERNEL_EXEC if any of the regions end up being code. At the same time this is a much bigger change than just changing the WARN_ONCE() to pr_warn_once(), so rather than me applying it directly to my tree, I think I'd prefer it to go through the proper channels and the usual way. I'll still apply it to my private "this is the tree I actually boot on my M2" testing tree, since that has all the other Asahi patches too. That way I won't see the warning myself on that machine. So "Acked-by" on the patch, and I hope I'll see it with a future arm64 or EFI pull request (and I'll holler loudly if it actually causes any issues on my M2, but I obviously don't expect it to) Thanks, Linus