[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] xen/arm: ffa: return FFA_RET_NOT_SUPPORTED on unhandled calls



commit 75571e162b78b73401307ce40f732021ae57d49a
Author:     Jens Wiklander <jens.wiklander@xxxxxxxxxx>
AuthorDate: Wed Dec 13 11:32:41 2023 +0100
Commit:     Julien Grall <jgrall@xxxxxxxxxx>
CommitDate: Wed Dec 13 16:23:55 2023 +0000

    xen/arm: ffa: return FFA_RET_NOT_SUPPORTED on unhandled calls
    
    Until now an unsupported FF-A request has been reported back with
    ARM_SMCCC_ERR_UNKNOWN_FUNCTION in register x0. A FF-A caller would
    rather expect FFA_ERROR in x0 and FFA_RET_NOT_SUPPORTED in x2 so update
    ffa_handle_call() to return true and with the cpu_user_regs updated.
    
    Fixes: 38846de2176b ("xen/arm: tee: add a primitive FF-A mediator")
    Signed-off-by: Jens Wiklander <jens.wiklander@xxxxxxxxxx>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
    Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>
---
 xen/arch/arm/tee/ffa.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 183528d133..98905fec79 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -1477,7 +1477,8 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
-        return false;
+        set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return true;
     }
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.