Signed-off-by: Wang Cheng <wanngchenng(a)gmail.com>
---
Documentation/staging/tee.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/staging/tee.rst b/Documentation/staging/tee.rst
index 3c63d8dcd61e..498343c7ab08 100644
--- a/Documentation/staging/tee.rst
+++ b/Documentation/staging/tee.rst
@@ -255,7 +255,7 @@ The following picture shows a high level overview of AMD-TEE::
+--------------------------+ +---------+--------------------+
At the lowest level (in x86), the AMD Secure Processor (ASP) driver uses the
-CPU to PSP mailbox regsister to submit commands to the PSP. The format of the
+CPU to PSP mailbox register to submit commands to the PSP. The format of the
command buffer is opaque to the ASP driver. It's role is to submit commands to
the secure processor and return results to AMD-TEE driver. The interface
between AMD-TEE driver and AMD Secure Processor driver can be found in [6].
@@ -290,7 +290,7 @@ cancel_req driver callback is not supported by AMD-TEE.
The GlobalPlatform TEE Client API [5] can be used by the user space (client) to
talk to AMD's TEE. AMD's TEE provides a secure environment for loading, opening
-a session, invoking commands and clossing session with TA.
+a session, invoking commands and closing session with TA.
References
==========
--
2.33.1
Hello, I got problems here:
I built the whole system with yotcto 3.3.3, linux kernel 5.10, optee-os
3.14, platform for rk3399 ( was working for qemu platform ).
Console Configuration:
U-Boot / TrustFirmware-A / optee-os: all pointed console to uart2
linux dts: chosen and secure-chosen all pointed to uart2. uart2's status
and secure-status are both set to "okay"
Build Configuration:
optee-os:
DEBUG=1 \
CFG_TEE_CORE_LOG_LEVEL=4 \
CFG_TEE_CORE_DEBUG=y \
CFG_TEE_TA_LOG_LEVEL=4 \
...
both optee-examples and my TA:
DEBUG=1 \
CFG_TEE_TA_LOG_LEVEL=4 \
...
During boot I can see D/TC: logs, but no any D/TA: log is output.
Some D/TC log like this:
D/TC:? 0 tee_ta_init_session_with_context:607 Re-open TA xxxxx
D/TC:? 0 tee_ta_close_session:512 csess 0xDDDDDD id 1
D/TC:? 0 tee_ta_close_session:531 Destroy session
My TA has correct output, no crashes,or other errors
Thanks.
This V3 series covers points uncovered during the review of the previous
series, one major point being that register readout should not be used
for dynamic JR availability check due to its unreliability.
Instead, JR should have a proper status set in FDT which indicates the
availability of the ring in NS-World. This status is aligned with what
BootROM code configures, and can be modified by all actors in the boot
chain.
Therefore, patch in V2 series that was handling the dynamic JR
availability check is dropped in this series and replaced by the patch
which sets proper DT status for JR nodes.
Andrey Zhizhikin (2):
crypto: caam - convert to use capabilities
arm64: dts: imx8m: define proper status for caam jr
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 4 +
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 4 +
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 4 +
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 4 +
drivers/crypto/caam/caamalg_qi.c | 2 +-
drivers/crypto/caam/ctrl.c | 115 ++++++++++++++--------
drivers/crypto/caam/intern.h | 20 ++--
drivers/crypto/caam/jr.c | 19 +++-
drivers/crypto/caam/regs.h | 2 -
9 files changed, 122 insertions(+), 52 deletions(-)
base-commit: 04fe99a8d936d46a310ca61b8b63dc270962bf01
--
2.25.1
Hello arm-soc maintainers,
Please pull these TEE subsystem and OP-TEE driver fixes which by coincident
all are concerning memory shared with secure world.
There's one in particular nasty race fixed when a tee_shm is about to be
teared down.
Thanks,
Jens
The following changes since commit d58071a8a76d779eedab38033ae4c821c30295a5:
Linux 5.16-rc3 (2021-11-28 14:09:19 -0800)
are available in the Git repository at:
https://git.linaro.org/people/jens.wiklander/linux-tee.git tags/fixes-for-v5.16
for you to fetch changes up to 6add87fdae9bcb1d20b4503df5bd02ce5246cc8b:
optee: Suppress false positive kmemleak report in optee_handle_rpc() (2021-12-16 15:32:48 +0100)
----------------------------------------------------------------
TEE and OP-TEE fixes for v5.16
- Fixes a race when a tee_shm reaches reference count 0 and is about to
be teared down
- Fixes an incorrect page free bug in an error path of the OP-TEE shared
memory pool handling
- Suppresses a false positive kmemleak report when allocating driver
private shared memory buffers for OP-TEE
----------------------------------------------------------------
Jens Wiklander (1):
tee: handle lookup of shm with reference count 0
Sumit Garg (1):
tee: optee: Fix incorrect page free bug
Xiaolei Wang (1):
optee: Suppress false positive kmemleak report in optee_handle_rpc()
drivers/tee/optee/core.c | 6 +-
drivers/tee/optee/smc_abi.c | 2 +
drivers/tee/tee_shm.c | 174 +++++++++++++++++---------------------------
include/linux/tee_drv.h | 4 +-
4 files changed, 72 insertions(+), 114 deletions(-)
Pointer to the allocated pages (struct page *page) has already
progressed towards the end of allocation. It is incorrect to perform
__free_pages(page, order) using this pointer as we would free any
arbitrary pages. Fix this by stop modifying the page pointer.
Fixes: ec185dd3ab25 ("optee: Fix memory leak when failing to register shm pages")
Cc: stable(a)vger.kernel.org
Reported-by: Patrik Lantz <patrik.lantz(a)axis.com>
Signed-off-by: Sumit Garg <sumit.garg(a)linaro.org>
Reviewed-by: Tyler Hicks <tyhicks(a)linux.microsoft.com>
---
Changes since v1:
- Added stable CC tag.
- Picked up Tyler's review tag.
drivers/tee/optee/core.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c
index ab2edfcc6c70..2a66a5203d2f 100644
--- a/drivers/tee/optee/core.c
+++ b/drivers/tee/optee/core.c
@@ -48,10 +48,8 @@ int optee_pool_op_alloc_helper(struct tee_shm_pool_mgr *poolm,
goto err;
}
- for (i = 0; i < nr_pages; i++) {
- pages[i] = page;
- page++;
- }
+ for (i = 0; i < nr_pages; i++)
+ pages[i] = page + i;
shm->flags |= TEE_SHM_REGISTER;
rc = shm_register(shm->ctx, shm, pages, nr_pages,
--
2.25.1