[PATCH v1] arm64/efi: Don't fail check current_in_efi() if preemptible
Ard Biesheuvel
ardb at kernel.org
Tue Jan 6 02:23:24 PST 2026
On Tue, 6 Jan 2026 at 08:59, Richard Lyu <richard.lyu at suse.com> wrote:
>
> This change is good to me.
> Reviewed-by: Richard Lyu <richard.lyu at suse.com>
>
> On 2026/01/05 14:48, Yeoreum Yun wrote:
> > LGTM. feel free to add:
> > Reviewed-by: Yeoreum Yun <yeoreum.yun at arm.com>
> >
> > > As EFI runtime services can now be run without disabling preemption remove
> > > the check for non preemptible in current_in_efi(). Without this change,
> > > firmware errors that were previously recovered from by
> > > __efi_runtime_kernel_fixup_exception() will lead to a kernel oops.
> > >
> > > Fixes: a5baf582f4c0 ("arm64/efi: Call EFI runtime services without disabling preemption")
> > > Signed-off-by: Ben Horgan <ben.horgan at arm.com>
> > > ---
> > > On the partner platform I was testing on this issue caused the boot to fail.
> > > ---
> > > arch/arm64/include/asm/efi.h | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h
> > > index aa91165ca140..e8a9783235cb 100644
> > > --- a/arch/arm64/include/asm/efi.h
> > > +++ b/arch/arm64/include/asm/efi.h
> > > @@ -45,7 +45,7 @@ void arch_efi_call_virt_teardown(void);
> > > * switching to the EFI runtime stack.
> > > */
> > > #define current_in_efi() \
> > > - (!preemptible() && efi_rt_stack_top != NULL && \
> > > + (efi_rt_stack_top != NULL && \
> > > on_task_stack(current, READ_ONCE(efi_rt_stack_top[-1]), 1))
> > >
> > > #define ARCH_EFI_IRQ_FLAGS_MASK (PSR_D_BIT | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT)
> > > --
> > > 2.43.0
> > >
> >
Acked-by: Ard Biesheuvel <ardb at kernel.org>
More information about the linux-arm-kernel
mailing list