EFI is not expected to modify PSTATE.ALLINT, so check that it remains
unchanged across EFI runtime calls.
Signed-off-by: Vladimir Murzin <redacted>
Reviewed-by: Jinjie Ruan <redacted>
---
arch/arm64/include/asm/efi.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h
index 0fc5a8cd5850..c7fb21c00690 100644
--- a/arch/arm64/include/asm/efi.h
+++ b/arch/arm64/include/asm/efi.h
@@ -78,6 +78,10 @@ do { \
pr_err_ratelimited(FW_BUG "DAIF+PMR corrupted (0x%x + 0x%x=>0x%x + 0x%x) by EFI call from %pS\n", \
__expected.daif, __expected.pmr, __actual.daif, __actual.pmr, \
caller ?: __builtin_return_address(0)); \
+ } else if (system_uses_nmi()) { \
+ pr_err_ratelimited(FW_BUG "DAIF+ALLINT corrupted (0x%x + 0x%x=>0x%x + 0x%x) by EFI call from %pS\n", \
+ __expected.daif, __expected.allint, __actual.daif, __actual.allint, \
+ caller ?: __builtin_return_address(0)); \
} else { \
pr_err_ratelimited(FW_BUG "DAIF corrupted (0x%x=>0x%x) by EFI call from %pS\n", \
__expected.daif, __actual.daif, \--
2.34.1