[PATCH] arm64/efi: only disable the EFI runtime service that faulted
Hamza Mahfooz
hamzamahfooz at linux.microsoft.com
Thu Oct 22 13:30:20 PDT 2026
On Thu, Oct 22, 2026 at 08:05:17AM +0200, Ard Biesheuvel wrote:
> Hello Hamza,
>
> On Thu, 22 Oct 2026, at 01:05, Hamza Mahfooz wrote:
> > When the firmware faults while executing an EFI runtime service, arm64
> > recovers from the exception, returns EFI_ABORTED to the caller and
> > disables all EFI runtime services for the remainder of the boot.
> >
> > That is a rather big hammer.
>
> It does not just return EFI_ABORTED to the caller. It basically does a
> longjmp() out of the faulting context straight back to the caller in
> the kernel, skipping all execution that would have occurred on the
> way back out if the fault had not occurred.
>
> Assuming that the runtime services are still in a sane state after this
> is not justified, so I don't think making this change is a good idea.
>
> Do the systems in question expose the RTC via the standardized ACPI
> methods as well? I'd be fine with some logic that avoids rtc-efi
Ya the machines export ACPI000E devices and acpi-tad is able to
register them (as /dev/rtc0). I'll send out a series that I've tested
that implements that idea soon.
> entirely if the RTC can be driven by a native ACPI driver: that
> seems a worthwhile improvement in its own right, given that EFI
> runtime services are evil and should be avoided where possible.
More information about the linux-arm-kernel
mailing list