Re: [PATCH -next] tee: optee: Fix unsigned comparison with less than zero

From: Sumit Garg
Date: Tue Feb 19 2019 - 03:47:09 EST


On Tue, 19 Feb 2019 at 12:34, YueHaibing <yuehaibing@xxxxxxxxxx> wrote:
>
> The return from the call to tee_client_invoke_func can be a
> negative error code however this is being assigned to an
> unsigned variable 'ret' hence the check is always false.
> Fix this by making 'ret' an int.
>
> Detected by Coccinelle ("Unsigned expression compared with zero:
> ret < 0")
>
> Fixes: c3fa24af9244 ("tee: optee: add TEE bus device enumeration support")
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>

Reviewed-by: Sumit Garg <sumit.garg@xxxxxxxxxx>

> ---
> drivers/tee/optee/device.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tee/optee/device.c b/drivers/tee/optee/device.c
> index 5e4938b..1f22376 100644
> --- a/drivers/tee/optee/device.c
> +++ b/drivers/tee/optee/device.c
> @@ -34,7 +34,7 @@ static int optee_ctx_match(struct tee_ioctl_version_data *ver, const void *data)
> static int get_devices(struct tee_context *ctx, u32 session,
> struct tee_shm *device_shm, u32 *shm_size)
> {
> - u32 ret = 0;
> + int ret = 0;
> struct tee_ioctl_invoke_arg inv_arg = {0};
> struct tee_param param[4] = {0};
>
> --
> 2.7.0
>
>