diff options
| author | Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com> | 2025-09-11 21:07:44 -0700 |
|---|---|---|
| committer | Jens Wiklander <jens.wiklander@linaro.org> | 2025-09-15 17:34:06 +0200 |
| commit | 54a53e95a908a4cc770f0530c49f04c89e7b18dc (patch) | |
| tree | 4f6ae3b1bd50ab68a5d9d512a5e78dcd08f5d40a /include/linux | |
| parent | 0cbaf65c91db0e40a577e8919979dac1963cfcc0 (diff) | |
tee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF
For drivers that can transfer data to the TEE without using shared
memory from client, it is necessary to receive the user address
directly, bypassing any processing by the TEE subsystem. Introduce
TEE_IOCTL_PARAM_ATTR_TYPE_UBUF_INPUT/OUTPUT/INOUT to represent
userspace buffers.
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/tee_drv.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/tee_drv.h b/include/linux/tee_drv.h index 824f1251de60..7915e8869cbd 100644 --- a/include/linux/tee_drv.h +++ b/include/linux/tee_drv.h @@ -82,6 +82,11 @@ struct tee_param_memref { struct tee_shm *shm; }; +struct tee_param_ubuf { + void __user *uaddr; + size_t size; +}; + struct tee_param_value { u64 a; u64 b; @@ -92,6 +97,7 @@ struct tee_param { u64 attr; union { struct tee_param_memref memref; + struct tee_param_ubuf ubuf; struct tee_param_value value; } u; }; |
