[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