Skip to content

efi: preserve NEON registers on UEFI services calls

Matt Fleming linux-arm-kernel linux-efi 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest2 patches 0 repliesNew

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2efi/x86: move UEFI Runtime Services wrappers to generic code+0 -01 reply
1/2efi/x86: move UEFI Runtime Services wrappers to generic code+0 -00 replies

Reviews trailers per patch

None of the 2 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchOlivier Martin
SeriesA-b A-b
1/2
1/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] efi: preserve NEON registers on UEFI services calls
Quoted 19 lines · Ard Biesheuvel

The current UEFI implementation for arm64 fails to preserve/restore the contents of the NEON register file, which may result in data corruption, especially now that those contents are lazily restored for user processes.

This series proposes to fix this by wrapping all runtime services calls, and adding kernel_neon_begin()/kernel_neon_end() pairs to the wrappers.

The first patch moves the existing x86 versions of those wrappers to generic code, so that the second patch can easily enable them by supplying a definition for efi_call_virt and adding a call to efi_native_runtime_setup().

Changes since v1:
- rename runtime.c -> runtime-wrappers.c
- make build depend on new Kconfig symbol EFI_RUNTIME_WRAPPERS to fix ia64 breakage
- remove default #defines for efi_call_virt()/__efi_call_virt(), they are not needed anymore now that it is built conditionally
- add references to applicable UEFI/AAPCS spec sections

Quoted 3 lines

Ard Biesheuvel (2):
efi/x86: move UEFI Runtime Services wrappers to generic code efi/arm64: preserve FP/SIMD registers on UEFI runtime services calls

Thanks Ard. These patches look OK to me, and I've now pulled them into my 'next' branch.

It'd be nice if we could get some ACKs from other people since this is an ABI issue.

Signature · 1 line
Matt Fleming, Intel Open Source Technology Center