[PATCH] arm64: rsi: Correct type of realm_config::hash_algo

Kohei Enju enju.kohei at fujitsu.com
Tue Sep 29 04:36:00 PDT 2026


The RMM specification defines RsiHashAlgorithm as an 8-bit type, but
realm_config::hash_algo is currently declared as unsigned long.

There are currently no upstream users of this field, so the mismatch
does not cause an observable issue today. However, a proposed series
adding support for Realm measurement registers uses this field and
exposes a bug caused by the incorrect type.

Change hash_algo to u8 to match the RMM specification while preserving
the size and layout of struct realm_config.

Link: https://lore.kernel.org/all/20260413084957.327661-4-sami.mujawar@arm.com/
Signed-off-by: Kohei Enju <enju.kohei at fujitsu.com>
---
 include/linux/arm-smccc-rsi.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/linux/arm-smccc-rsi.h b/include/linux/arm-smccc-rsi.h
index fddb77986f70..2fb6ec5e0298 100644
--- a/include/linux/arm-smccc-rsi.h
+++ b/include/linux/arm-smccc-rsi.h
@@ -128,7 +128,10 @@ struct realm_config {
 	union {
 		struct {
 			unsigned long ipa_bits; /* Width of IPA in bits */
-			unsigned long hash_algo; /* Hash algorithm */
+			union {
+				u8 hash_algo; /* Hash algorithm */
+				u8 pad_hash_algo[8];
+			};
 		};
 		u8 pad[0x200];
 	};

---
base-commit: 6c360697fd4d17a53ed977a1341add3520a19269
change-id: 20260929-cca-b4-rsi-fix-hash_algo-type-rebase-e341cd50d600

Best regards,
--  
Kohei Enju <enju.kohei at fujitsu.com>




More information about the linux-arm-kernel mailing list