[PATCH v7 1/3] KVM: arm64: Block host-initiated FF-A direct responses
From: Per Larsen via B4 Relay
Date: Sun Aug 30 2026 - 19:08:42 EST
From: Per Larsen <perlarsen@xxxxxxxxxx>
ffa_call_supported() rejects FFA_MSG_SEND_DIRECT_RESP, but allows
FFA_FN64_MSG_SEND_DIRECT_RESP to be forwarded to firmware.
The host is never the target of an FF-A direct request and therefore
cannot initiate a direct response. Reject both calling conventions.
Suggested-by: Fuad Tabba <tabba@xxxxxxxxxx>
Signed-off-by: Per Larsen <perlarsen@xxxxxxxxxx>
---
arch/arm64/kvm/hyp/nvhe/ffa.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kvm/hyp/nvhe/ffa.c b/arch/arm64/kvm/hyp/nvhe/ffa.c
index a327c2bbb6b6..9e8bb95e8845 100644
--- a/arch/arm64/kvm/hyp/nvhe/ffa.c
+++ b/arch/arm64/kvm/hyp/nvhe/ffa.c
@@ -686,8 +686,10 @@ static bool ffa_call_supported(u64 func_id)
case FFA_MSG_SEND:
case FFA_MSG_POLL:
case FFA_MSG_WAIT:
- /* 32-bit variants of 64-bit calls */
+ /* The host is never the target of a direct request */
case FFA_MSG_SEND_DIRECT_RESP:
+ case FFA_FN64_MSG_SEND_DIRECT_RESP:
+ /* 32-bit variants of 64-bit calls */
case FFA_RXTX_MAP:
case FFA_MEM_DONATE:
case FFA_MEM_RETRIEVE_REQ:
--
2.55.0.897.gb25b4bd76c-goog