[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] arm: optee: don't print warning about "wrong" RPC buffer
On Mon, 5 Oct 2020, Volodymyr Babchuk wrote: > OP-TEE mediator tracks cookie value for a last buffer which > was requested by OP-TEE. This tracked value serves one important > purpose: if OP-TEE wants to request another buffer, we know > that it finished importing previous one and we can free page list > associated with it. > > Also, we had false premise that OP_TEE will free requested buffers in > reversed order. So we checked rpc_data_cookie during handling > OPTEE_RPC_CMD_SHM_FREE call and printed warning if cookie of buffer > which is requested to be freed differs from last allocated one. > > During testing RPMB FS services I discovered, that RPMB code frees > request and response buffers in the same order is it allocated > them. And this is perfectly fine, actually. > > So, we are removing mentioned warning message in Xen, as it is > perfectly normal to free buffers in arbitrary order. > > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> I am going to fix the grammar on commit > --- > xen/arch/arm/tee/optee.c | 20 +------------------- > 1 file changed, 1 insertion(+), 19 deletions(-) > > diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c > index 8a39fe33b0..ee85359742 100644 > --- a/xen/arch/arm/tee/optee.c > +++ b/xen/arch/arm/tee/optee.c > @@ -1127,25 +1127,7 @@ static int handle_rpc_return(struct optee_domain *ctx, > */ > if ( shm_rpc->xen_arg->cmd == OPTEE_RPC_CMD_SHM_FREE ) > { > - uint64_t cookie = shm_rpc->xen_arg->params[0].u.value.b; > - > - free_optee_shm_buf(ctx, cookie); > - > - /* > - * OP-TEE asks to free the buffer, but this is not the same > - * buffer we previously allocated for it. While nothing > - * prevents OP-TEE from asking this, it is the strange > - * situation. This may or may not be caused by a bug in > - * OP-TEE or mediator. But is better to print warning. > - */ > - if ( call->rpc_data_cookie && call->rpc_data_cookie != cookie ) > - { > - gprintk(XENLOG_ERR, > - "Saved RPC cookie does not corresponds to OP-TEE's > (%"PRIx64" != %"PRIx64")\n", > - call->rpc_data_cookie, cookie); > - > - WARN(); > - } > + free_optee_shm_buf(ctx, shm_rpc->xen_arg->params[0].u.value.b); > call->rpc_data_cookie = 0; > } > unmap_domain_page(shm_rpc->xen_arg); > -- > 2.27.0 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |