Messages in this thread | | | From | Igor Opaniuk <> | Date | Wed, 13 Feb 2019 15:36:16 +0200 | Subject | Re: [PATCH v2 1/1] tee: add cancellation support to client interface |
| |
On Thu, 24 Jan 2019 at 19:32, Igor Opaniuk <igor.opaniuk@linaro.org> wrote: > > Add support of cancellation request to the TEE kernel internal > client interface. Can be used by software TPM drivers, that leverage > TEE under the hood (for instance TPM2.0 mobile profile), for requesting > cancellation of time-consuming operations (RSA key-pair generation etc.). > > Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> > --- > > v2: > - use tee_ioctl_cancel_arg to provide session and cancel_id > - fix tee_client_cancel_req function description header > > drivers/tee/tee_core.c | 10 ++++++++++ > include/linux/tee_drv.h | 12 ++++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/tee/tee_core.c b/drivers/tee/tee_core.c > index 7b2bb4c..1148175 100644 > --- a/drivers/tee/tee_core.c > +++ b/drivers/tee/tee_core.c > @@ -1027,6 +1027,16 @@ int tee_client_invoke_func(struct tee_context *ctx, > } > EXPORT_SYMBOL_GPL(tee_client_invoke_func); > > +int tee_client_cancel_req(struct tee_context *ctx, > + struct tee_ioctl_cancel_arg *arg) > +{ > + if (!ctx->teedev->desc->ops->cancel_req) > + return -EINVAL; > + return ctx->teedev->desc->ops->cancel_req(ctx, arg->cancel_id, > + arg->session); > +} > +EXPORT_SYMBOL_GPL(tee_client_cancel_req); > + > static int __init tee_init(void) > { > int rc; > diff --git a/include/linux/tee_drv.h b/include/linux/tee_drv.h > index 6cfe058..177016e 100644 > --- a/include/linux/tee_drv.h > +++ b/include/linux/tee_drv.h > @@ -526,6 +526,18 @@ int tee_client_invoke_func(struct tee_context *ctx, > struct tee_ioctl_invoke_arg *arg, > struct tee_param *param); > > +/** > + * tee_client_cancel_req() - Request cancellation of the previous open-session > + * or invoke-command operations in a Trusted Application > + * @ctx: TEE Context > + * @arg: Cancellation arguments, see description of > + * struct tee_ioctl_cancel_arg > + * > + * Returns < 0 on error else 0 if the cancellation was successfully requested. > + */ > +int tee_client_cancel_req(struct tee_context *ctx, > + struct tee_ioctl_cancel_arg *arg); > + > static inline bool tee_param_is_memref(struct tee_param *param) > { > switch (param->attr & TEE_IOCTL_PARAM_ATTR_TYPE_MASK) { > -- > 2.7.4 > Hi,
Just gentle reminder - v2 patch has been sitting in ML for almost 2 weeks with no review (all issues mentioned in v1 were addressed). If anyone has any objections/suggestions, please let me know.
Thanks! -- Regards, Igor Opaniuk
| |