Loading drivers/tee/optee/ffa_abi.c +12 −3 Original line number Diff line number Diff line Loading @@ -619,9 +619,18 @@ static int optee_ffa_do_call_with_arg(struct tee_context *ctx, .data2 = (u32)(shm->sec_world_id >> 32), .data3 = shm->offset, }; struct optee_msg_arg *arg = tee_shm_get_va(shm, 0); unsigned int rpc_arg_offs = OPTEE_MSG_GET_ARG_SIZE(arg->num_params); struct optee_msg_arg *rpc_arg = tee_shm_get_va(shm, rpc_arg_offs); struct optee_msg_arg *arg; unsigned int rpc_arg_offs; struct optee_msg_arg *rpc_arg; arg = tee_shm_get_va(shm, 0); if (IS_ERR(arg)) return PTR_ERR(arg); rpc_arg_offs = OPTEE_MSG_GET_ARG_SIZE(arg->num_params); rpc_arg = tee_shm_get_va(shm, rpc_arg_offs); if (IS_ERR(rpc_arg)) return PTR_ERR(rpc_arg); return optee_ffa_yielding_call(ctx, &data, rpc_arg); } Loading Loading
drivers/tee/optee/ffa_abi.c +12 −3 Original line number Diff line number Diff line Loading @@ -619,9 +619,18 @@ static int optee_ffa_do_call_with_arg(struct tee_context *ctx, .data2 = (u32)(shm->sec_world_id >> 32), .data3 = shm->offset, }; struct optee_msg_arg *arg = tee_shm_get_va(shm, 0); unsigned int rpc_arg_offs = OPTEE_MSG_GET_ARG_SIZE(arg->num_params); struct optee_msg_arg *rpc_arg = tee_shm_get_va(shm, rpc_arg_offs); struct optee_msg_arg *arg; unsigned int rpc_arg_offs; struct optee_msg_arg *rpc_arg; arg = tee_shm_get_va(shm, 0); if (IS_ERR(arg)) return PTR_ERR(arg); rpc_arg_offs = OPTEE_MSG_GET_ARG_SIZE(arg->num_params); rpc_arg = tee_shm_get_va(shm, rpc_arg_offs); if (IS_ERR(rpc_arg)) return PTR_ERR(rpc_arg); return optee_ffa_yielding_call(ctx, &data, rpc_arg); } Loading