|
@@ -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,
|
|
@@ -258,7 +259,7 @@ static void optee_release(struct tee_context *ctx)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static struct tee_driver_ops optee_ops = {
|
|
|
+static const struct tee_driver_ops optee_ops = {
|
|
|
.get_version = optee_get_version,
|
|
|
.open = optee_open,
|
|
|
.release = optee_release,
|
|
@@ -268,13 +269,13 @@ static struct tee_driver_ops optee_ops = {
|
|
|
.cancel_req = optee_cancel_req,
|
|
|
};
|
|
|
|
|
|
-static struct tee_desc optee_desc = {
|
|
|
+static const struct tee_desc optee_desc = {
|
|
|
.name = DRIVER_NAME "-clnt",
|
|
|
.ops = &optee_ops,
|
|
|
.owner = THIS_MODULE,
|
|
|
};
|
|
|
|
|
|
-static struct tee_driver_ops optee_supp_ops = {
|
|
|
+static const struct tee_driver_ops optee_supp_ops = {
|
|
|
.get_version = optee_get_version,
|
|
|
.open = optee_open,
|
|
|
.release = optee_release,
|
|
@@ -282,7 +283,7 @@ static struct tee_driver_ops optee_supp_ops = {
|
|
|
.supp_send = optee_supp_send,
|
|
|
};
|
|
|
|
|
|
-static struct tee_desc optee_supp_desc = {
|
|
|
+static const struct tee_desc optee_supp_desc = {
|
|
|
.name = DRIVER_NAME "-supp",
|
|
|
.ops = &optee_supp_ops,
|
|
|
.owner = THIS_MODULE,
|