Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] The `struct rsi_host_call` ABI definition relies on implicit compiler padding, failing to explicitly represent the RES0 field required by the CCA RMM specification. --
commit 8a89052b48f09110c7f3fe9050a30fbf2d54c237 Author: Kameron Carr <[email protected]> arm64: rsi: Add RSI host call structure and helper function This commit introduces the rsi_host_call structure and a helper function to facilitate hypercall routing through the RSI interface for Hyper-V guests in an Arm CCA Realm. > diff --git a/arch/arm64/include/asm/rsi_smc.h > b/arch/arm64/include/asm/rsi_smc.h > index e19253f96c940..ffea93340ed7f 100644 > --- a/arch/arm64/include/asm/rsi_smc.h > +++ b/arch/arm64/include/asm/rsi_smc.h [ ... ] > @@ -142,6 +142,12 @@ struct realm_config { > */ > } __aligned(0x1000); > > +struct rsi_host_call { > + u16 immediate; > + u64 gprs[31]; > +} __aligned(256); [Severity: Low] This isn't a bug, but does this structure definition leave a 6-byte implicit padding hole between immediate and gprs? The Arm CCA RMM specification requires this 48-bit region to be reserved and zeroed. While current allocations might safely zero this memory, could a future stack allocation of this structure leave the padding bytes uninitialized? Would it be safer to add an explicit padding field to enforce the correct layout and prevent potential leaks of uninitialized Realm memory to the untrusted Host? > +static_assert(sizeof(struct rsi_host_call) == 256); > + > #endif /* __ASSEMBLER__ */ -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1
