summaryrefslogtreecommitdiff
path: root/drivers/tee/qcomtee
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tee/qcomtee')
-rw-r--r--drivers/tee/qcomtee/call.c25
-rw-r--r--drivers/tee/qcomtee/core.c8
-rw-r--r--drivers/tee/qcomtee/mem_obj.c3
-rw-r--r--drivers/tee/qcomtee/qcomtee_object.h2
-rw-r--r--drivers/tee/qcomtee/shm.c2
-rw-r--r--drivers/tee/qcomtee/user_obj.c9
6 files changed, 26 insertions, 23 deletions
diff --git a/drivers/tee/qcomtee/call.c b/drivers/tee/qcomtee/call.c
index 65f9140d4e1f..4a597eeaf174 100644
--- a/drivers/tee/qcomtee/call.c
+++ b/drivers/tee/qcomtee/call.c
@@ -395,9 +395,7 @@ static int qcomtee_object_invoke(struct tee_context *ctx,
struct tee_ioctl_object_invoke_arg *arg,
struct tee_param *params)
{
- struct qcomtee_object_invoke_ctx *oic __free(kfree) = NULL;
struct qcomtee_context_data *ctxdata = ctx->data;
- struct qcomtee_arg *u __free(kfree) = NULL;
struct qcomtee_object *object;
int i, ret, result;
@@ -412,12 +410,14 @@ static int qcomtee_object_invoke(struct tee_context *ctx,
}
/* Otherwise, invoke a QTEE object: */
- oic = qcomtee_object_invoke_ctx_alloc(ctx);
+ struct qcomtee_object_invoke_ctx *oic __free(kfree) =
+ qcomtee_object_invoke_ctx_alloc(ctx);
if (!oic)
return -ENOMEM;
/* +1 for ending QCOMTEE_ARG_TYPE_INV. */
- u = kcalloc(arg->num_params + 1, sizeof(*u), GFP_KERNEL);
+ struct qcomtee_arg *u __free(kfree) = kzalloc_objs(*u,
+ arg->num_params + 1);
if (!u)
return -ENOMEM;
@@ -562,9 +562,7 @@ static int qcomtee_supp_send(struct tee_context *ctx, u32 errno, u32 num_params,
static int qcomtee_open(struct tee_context *ctx)
{
- struct qcomtee_context_data *ctxdata __free(kfree) = NULL;
-
- ctxdata = kzalloc(sizeof(*ctxdata), GFP_KERNEL);
+ struct qcomtee_context_data *ctxdata __free(kfree) = kzalloc_obj(*ctxdata);
if (!ctxdata)
return -ENOMEM;
@@ -645,12 +643,12 @@ static void qcomtee_get_version(struct tee_device *teedev,
static void qcomtee_get_qtee_feature_list(struct tee_context *ctx, u32 id,
u32 *version)
{
- struct qcomtee_object_invoke_ctx *oic __free(kfree) = NULL;
struct qcomtee_object *client_env, *service;
struct qcomtee_arg u[3] = { 0 };
int result;
- oic = qcomtee_object_invoke_ctx_alloc(ctx);
+ struct qcomtee_object_invoke_ctx *oic __free(kfree) =
+ qcomtee_object_invoke_ctx_alloc(ctx);
if (!oic)
return;
@@ -707,7 +705,7 @@ static int qcomtee_probe(struct platform_device *pdev)
struct qcomtee *qcomtee;
int err;
- qcomtee = kzalloc(sizeof(*qcomtee), GFP_KERNEL);
+ qcomtee = kzalloc_obj(*qcomtee);
if (!qcomtee)
return -ENOMEM;
@@ -800,7 +798,12 @@ static void qcomtee_remove(struct platform_device *pdev)
kfree(qcomtee);
}
-static const struct platform_device_id qcomtee_ids[] = { { "qcomtee", 0 }, {} };
+static const struct platform_device_id qcomtee_ids[] = {
+ {
+ .name = "qcomtee",
+ },
+ { }
+};
MODULE_DEVICE_TABLE(platform, qcomtee_ids);
static struct platform_driver qcomtee_platform_driver = {
diff --git a/drivers/tee/qcomtee/core.c b/drivers/tee/qcomtee/core.c
index ecd04403591c..60fe3b5776e3 100644
--- a/drivers/tee/qcomtee/core.c
+++ b/drivers/tee/qcomtee/core.c
@@ -54,7 +54,7 @@ qcomtee_qtee_object_alloc(struct qcomtee_object_invoke_ctx *oic,
struct qcomtee *qcomtee = tee_get_drvdata(oic->ctx->teedev);
struct qcomtee_object *object;
- object = kzalloc(sizeof(*object), GFP_KERNEL);
+ object = kzalloc_obj(*object);
if (!object)
return NULL_QCOMTEE_OBJECT;
@@ -306,8 +306,10 @@ int qcomtee_object_user_init(struct qcomtee_object *object,
break;
case QCOMTEE_OBJECT_TYPE_CB:
object->ops = ops;
- if (!object->ops->dispatch)
- return -EINVAL;
+ if (!object->ops->dispatch) {
+ ret = -EINVAL;
+ break;
+ }
/* If failed, "no-name". */
object->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
diff --git a/drivers/tee/qcomtee/mem_obj.c b/drivers/tee/qcomtee/mem_obj.c
index 228a3e30a31b..ebba200ddf44 100644
--- a/drivers/tee/qcomtee/mem_obj.c
+++ b/drivers/tee/qcomtee/mem_obj.c
@@ -88,11 +88,10 @@ int qcomtee_memobj_param_to_object(struct qcomtee_object **object,
struct tee_param *param,
struct tee_context *ctx)
{
- struct qcomtee_mem_object *mem_object __free(kfree) = NULL;
struct tee_shm *shm;
int err;
- mem_object = kzalloc(sizeof(*mem_object), GFP_KERNEL);
+ struct qcomtee_mem_object *mem_object __free(kfree) = kzalloc_obj(*mem_object);
if (!mem_object)
return -ENOMEM;
diff --git a/drivers/tee/qcomtee/qcomtee_object.h b/drivers/tee/qcomtee/qcomtee_object.h
index 5221449be7db..8b4401ecad48 100644
--- a/drivers/tee/qcomtee/qcomtee_object.h
+++ b/drivers/tee/qcomtee/qcomtee_object.h
@@ -176,7 +176,7 @@ qcomtee_object_invoke_ctx_alloc(struct tee_context *ctx)
{
struct qcomtee_object_invoke_ctx *oic;
- oic = kzalloc(sizeof(*oic), GFP_KERNEL);
+ oic = kzalloc_obj(*oic);
if (oic)
oic->ctx = ctx;
return oic;
diff --git a/drivers/tee/qcomtee/shm.c b/drivers/tee/qcomtee/shm.c
index 580bd25f98ed..b67909ef3f46 100644
--- a/drivers/tee/qcomtee/shm.c
+++ b/drivers/tee/qcomtee/shm.c
@@ -140,7 +140,7 @@ struct tee_shm_pool *qcomtee_shm_pool_alloc(void)
{
struct tee_shm_pool *pool;
- pool = kzalloc(sizeof(*pool), GFP_KERNEL);
+ pool = kzalloc_obj(*pool);
if (!pool)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/tee/qcomtee/user_obj.c b/drivers/tee/qcomtee/user_obj.c
index 0139905f2684..a06eb94e0bae 100644
--- a/drivers/tee/qcomtee/user_obj.c
+++ b/drivers/tee/qcomtee/user_obj.c
@@ -228,10 +228,9 @@ static int qcomtee_user_object_dispatch(struct qcomtee_object_invoke_ctx *oic,
{
struct qcomtee_user_object *uo = to_qcomtee_user_object(object);
struct qcomtee_context_data *ctxdata = uo->ctx->data;
- struct qcomtee_ureq *ureq __free(kfree) = NULL;
int errno;
- ureq = kzalloc(sizeof(*ureq), GFP_KERNEL);
+ struct qcomtee_ureq *ureq __free(kfree) = kzalloc_obj(*ureq);
if (!ureq)
return -ENOMEM;
@@ -326,7 +325,7 @@ static void qcomtee_user_object_release(struct qcomtee_object *object)
if (!uo->notify)
goto out_no_notify;
- ureq = kzalloc(sizeof(*ureq), GFP_KERNEL);
+ ureq = kzalloc_obj(*ureq);
if (!ureq)
goto out_no_notify;
@@ -367,10 +366,10 @@ int qcomtee_user_param_to_object(struct qcomtee_object **object,
struct tee_param *param,
struct tee_context *ctx)
{
- struct qcomtee_user_object *user_object __free(kfree) = NULL;
int err;
- user_object = kzalloc(sizeof(*user_object), GFP_KERNEL);
+ struct qcomtee_user_object *user_object __free(kfree) =
+ kzalloc_obj(*user_object);
if (!user_object)
return -ENOMEM;