On Wed, Jun 07, 2023 at 05:26:12AM -0700, Ard Biesheuvel wrote:
[ Upstream commit eb684408f3ea4856639675d6465f0024e498e4b1 ]
Instead of using the SMBIOS type 1 record 'family' field, which is often modified by OEMs, use the type 4 'processor ID' and 'processor version' fields, which are set to a small set of probe-able values on all known Ampere EFI systems in the field.
Fixes: 550b33cfd4452968 ("arm64: efi: Force the use of ...") Tested-by: Andrea Righi andrea.righi@canonical.com Signed-off-by: Ard Biesheuvel ardb@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org Signed-off-by: Jeremi Piotrowski jpiotrowski@linux.microsoft.com
drivers/firmware/efi/libstub/arm64-stub.c | 39 ++++++++++++++++----- drivers/firmware/efi/libstub/efistub.h | 41 +++++++++++++++++++++-- drivers/firmware/efi/libstub/smbios.c | 13 +++++-- 3 files changed, 80 insertions(+), 13 deletions(-)
diff --git a/drivers/firmware/efi/libstub/arm64-stub.c b/drivers/firmware/efi/libstub/arm64-stub.c index 42282c5c3fe6..e2f90566b291 100644 --- a/drivers/firmware/efi/libstub/arm64-stub.c +++ b/drivers/firmware/efi/libstub/arm64-stub.c
Sorry Ard, didn't meant to spoof your sender address.
Greg: commit 550b33cfd4452968 is in v6.1 but the fix for it (upstream eb684408f3ea4856639675d6465f0024e498e4b1) was not marked for stable. Hence this patch. It also needed a slight tweak because the file has been split since v6.1 (drivers/firmware/efi/libstub/arm64-stub.c => arm64.c).
My Ampere system returns "Server" to 'dmidecode -s system-family', so it hits this.
Thanks, Jeremi