[PATCH v2] arm64: efi: Fix handling of misaligned runtime regions and drop warning

Ard Biesheuvel ardb at kernel.org
Sun Nov 6 14:34:16 PST 2022


On Sun, 6 Nov 2022 at 20:38, Linus Torvalds
<torvalds at linux-foundation.org> wrote:
>
> [ 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 at kernel.org> 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 for the ack. I'll drop it in the EFI fixes branch and let it
soak in -next for the week.



More information about the linux-arm-kernel mailing list