diff options
Diffstat (limited to 'drivers/tee')
| -rw-r--r-- | drivers/tee/qcomtee/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/tee/qcomtee/call.c | 2 | ||||
| -rw-r--r-- | drivers/tee/qcomtee/core.c | 2 | 
3 files changed, 3 insertions, 2 deletions
diff --git a/drivers/tee/qcomtee/Kconfig b/drivers/tee/qcomtee/Kconfig index 927686abceb1..9f19dee08db4 100644 --- a/drivers/tee/qcomtee/Kconfig +++ b/drivers/tee/qcomtee/Kconfig @@ -2,6 +2,7 @@  # Qualcomm Trusted Execution Environment Configuration  config QCOMTEE  	tristate "Qualcomm TEE Support" +	depends on ARCH_QCOM || COMPILE_TEST  	depends on !CPU_BIG_ENDIAN  	select QCOM_SCM  	select QCOM_TZMEM_MODE_SHMBRIDGE diff --git a/drivers/tee/qcomtee/call.c b/drivers/tee/qcomtee/call.c index cc17a48d0ab7..ac134452cc9c 100644 --- a/drivers/tee/qcomtee/call.c +++ b/drivers/tee/qcomtee/call.c @@ -308,7 +308,7 @@ out_failed:  	}  	/* Release any IO and OO objects not processed. */ -	for (; u[i].type && i < num_params; i++) { +	for (; i < num_params && u[i].type; i++) {  		if (u[i].type == QCOMTEE_ARG_TYPE_OO ||  		    u[i].type == QCOMTEE_ARG_TYPE_IO)  			qcomtee_object_put(u[i].o); diff --git a/drivers/tee/qcomtee/core.c b/drivers/tee/qcomtee/core.c index 783acc59cfa9..b6715ada7700 100644 --- a/drivers/tee/qcomtee/core.c +++ b/drivers/tee/qcomtee/core.c @@ -424,7 +424,7 @@ static int qcomtee_prepare_msg(struct qcomtee_object_invoke_ctx *oic,  		if (!(u[i].flags & QCOMTEE_ARG_FLAGS_UADDR))  			memcpy(msgptr, u[i].b.addr, u[i].b.size);  		else if (copy_from_user(msgptr, u[i].b.uaddr, u[i].b.size)) -			return -EINVAL; +			return -EFAULT;  		offset += qcomtee_msg_offset_align(u[i].b.size);  		ib++;  | 
