optee: fix uninitialized symbol 'parg' [1/1]
authorJens Wiklander <jens.wiklander@linaro.org>
Thu, 22 Aug 2019 05:44:06 +0000 (13:44 +0800)
committerChao Liu <chao.liu@amlogic.com>
Fri, 23 Aug 2019 03:26:46 +0000 (20:26 -0700)
PD#SWPL-8608

Problem:
** SYNC FROM linaro **
uninitialized symbol 'parg'.

Solution:
Fixes the static checker warning in optee_release().

Verify:
none

Change-Id: Idd3305534a88e6759d9af54a41dd6c6a931c1848

optee/core.c

index 5295c750b987745d9dce953b7e717fa71f2fcc1c..7202489dbbd00ce675ea5ea015547aa2931bd32c 100644 (file)
@@ -228,13 +228,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,