From: Catalin Marinas <catalin.marinas@arm.com>
To: Kohei Enju <enju.kohei@fujitsu.com>
Cc: Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Suzuki K Poulose <Suzuki.Poulose@arm.com>,
Sami Mujawar <sami.mujawar@arm.com>,
Steven Price <steven.price@arm.com>,
"Aneesh Kumar K.V (Arm)" <aneesh.kumar@kernel.org>
Subject: Re: [PATCH v2] arm64: rsi: Correct type of realm_config::hash_algo
Date: Wed, 14 Oct 2026 10:53:25 +0100 [thread overview]
Message-ID: <as9RFRuhlGL1mZbz@arm.com> (raw)
In-Reply-To: <20261014-cca-b4-rsi-fix-hash_algo-type-rebase-v2-1-6cb0ae13c8c1@fujitsu.com>
Thanks for respinning.
On Wed, Oct 14, 2026 at 11:43:23AM +0900, Kohei Enju wrote:
> 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.
It should be clear the bug is in the RMM implementation. The patch here
is more like defensive programming when the RMM doesn't honour the
interface and zero the unused bits. I can fix the text when applying.
> 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@fujitsu.com>
> ---
> Changes in v2:
> - Drop the inner union and padding around hash_algo (Catalin)
> - Link to v1: https://patch.msgid.link/20260929-cca-b4-rsi-fix-hash_algo-type-rebase-v1-1-6932cf0aa605@fujitsu.com
In theory we could add a fixes tag for reference but not worth cc
stable.
Fixes: b880a80011f5 ("arm64: rsi: Add RSI definitions")
> ---
> include/linux/arm-smccc-rsi.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/arm-smccc-rsi.h b/include/linux/arm-smccc-rsi.h
> index fddb77986f70..cca881ddfdba 100644
> --- a/include/linux/arm-smccc-rsi.h
> +++ b/include/linux/arm-smccc-rsi.h
> @@ -128,7 +128,7 @@ struct realm_config {
> union {
> struct {
> unsigned long ipa_bits; /* Width of IPA in bits */
> - unsigned long hash_algo; /* Hash algorithm */
> + u8 hash_algo; /* Hash algorithm */
> };
> u8 pad[0x200];
> };
Suzuki, are you ok with this patch?
As a separate patch, we need to add some static_assert() for the offsets
and the size of the realm_config structure. We do this in
arm-smccc-rmi.h already.
There's a similar realm_params structure in arm-smccc-rmi.h but,
IIUC, the hash_algo there is written by the kernel, so unsigned long is
fine.
--
Catalin
next prev parent reply other threads:[~2026-10-14 9:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-14 2:43 [PATCH v2] arm64: rsi: Correct type of realm_config::hash_algo Kohei Enju
2026-10-14 9:53 ` Catalin Marinas [this message]
2026-10-14 10:13 ` Suzuki K Poulose
2026-10-14 11:27 ` Catalin Marinas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=as9RFRuhlGL1mZbz@arm.com \
--to=catalin.marinas@arm.com \
--cc=Suzuki.Poulose@arm.com \
--cc=aneesh.kumar@kernel.org \
--cc=enju.kohei@fujitsu.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=sami.mujawar@arm.com \
--cc=steven.price@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox