tee: optee: Fix unsigned comparison with less than zero
authorYueHaibing <[email protected]>
Tue, 19 Feb 2019 07:04:28 +0000 (15:04 +0800)
committerArnd Bergmann <[email protected]>
Wed, 20 Feb 2019 16:57:47 +0000 (17:57 +0100)
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 <[email protected]>
Reviewed-by: Sumit Garg <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
drivers/tee/optee/device.c

index 167839b371f254cdd8b28da2f77a440839369856..e3a148521ec1d4016ab65a5ae2ce8fbe1aa6b7ce 100644 (file)
@@ -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;
        struct tee_param param[4];