tee: optee: Fix unsigned comparison with less than zero
authorYueHaibing <yuehaibing@huawei.com>
Tue, 19 Feb 2019 07:04:28 +0000 (15:04 +0800)
committerArnd Bergmann <arnd@arndb.de>
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 <yuehaibing@huawei.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
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];