[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] xen/arm: optee: The function identifier is always 32-bit
commit ede2583fa1a28a969c5609b86aa82a7ba9f19a26 Author: Roman Skakun <roman_skakun@xxxxxxxx> AuthorDate: Wed Jan 6 13:26:57 2021 +0200 Commit: Julien Grall <jgrall@xxxxxxxxxx> CommitDate: Fri Jan 8 10:24:23 2021 +0000 xen/arm: optee: The function identifier is always 32-bit Per the SMCCC specification (see section 3.1 in ARM DEN 0028D), the function identifier is only stored in the least significant 32-bits. The most significant 32-bits should be ignored. Signed-off-by: Roman Skakun <roman_skakun@xxxxxxxx> Acked-by: Volodymyr Babchyk <volodymyr_babchuk@xxxxxxxx> [jgrall: Reword the commit message and comment] Acked-by: Julien Grall <jgrall@xxxxxxxxxx> --- xen/arch/arm/tee/optee.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c index ee85359742..9570dc6771 100644 --- a/xen/arch/arm/tee/optee.c +++ b/xen/arch/arm/tee/optee.c @@ -1643,7 +1643,11 @@ static bool optee_handle_call(struct cpu_user_regs *regs) if ( !ctx ) return false; - switch ( get_user_reg(regs, 0) ) + /* + * The function identifier is always stored in the least significant + * 32-bit (see section ARM DEN 0028D). + */ + switch ( (uint32_t)get_user_reg(regs, 0) ) { case OPTEE_SMC_CALLS_COUNT: set_user_reg(regs, 0, OPTEE_MEDIATOR_SMC_COUNT); -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |