OSDN Git Service

tee: optee: fix uninitialized symbol 'parg'
authorJens Wiklander <jens.wiklander@linaro.org>
Mon, 15 May 2017 09:09:28 +0000 (11:09 +0200)
committerJens Wiklander <jens.wiklander@linaro.org>
Fri, 4 Aug 2017 08:30:27 +0000 (10:30 +0200)
Fixes the static checker warning in optee_release().
error: uninitialized symbol 'parg'.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
drivers/tee/optee/core.c

index 58169e5..857141e 100644 (file)
@@ -224,13 +224,14 @@ static void optee_release(struct tee_context *ctx)
        if (!IS_ERR(shm)) {
                arg = tee_shm_get_va(shm, 0);
                /*
-                * If va2pa fails for some reason, we can't call
-                * optee_close_session(), only free the memory. Secure OS
-                * will leak sessions and finally refuse more sessions, but
-                * we will at least let normal world reclaim its memory.
+                * If va2pa fails for some reason, we can't call into
+                * secure world, only free the memory. Secure OS will leak
+                * sessions and finally refuse more sessions, but we will
+                * at least let normal world reclaim its memory.
                 */
                if (!IS_ERR(arg))
-                       tee_shm_va2pa(shm, arg, &parg);
+                       if (tee_shm_va2pa(shm, arg, &parg))
+                               arg = NULL; /* prevent usage of parg below */
        }
 
        list_for_each_entry_safe(sess, sess_tmp, &ctxdata->sess_list,