In LVBS/OP-TEE, the normal-world client/kernel and secure-world TAs exchange data. Currently, we use a bounce buffer in the secure-world kernel to support this. However, since the exchanged data is often transparent to the secure-world kernel, this bounce buffer usage could result in unnecessary memory consumption and time delay. Since we do not trust both foreign memory domains anyways, it is okay to directly copy "data" between them. Of course, any control messages should still be checked by the secure kernel (similar to control/data plane separation).
In LVBS/OP-TEE, the normal-world client/kernel and secure-world TAs exchange data. Currently, we use a bounce buffer in the secure-world kernel to support this. However, since the exchanged data is often transparent to the secure-world kernel, this bounce buffer usage could result in unnecessary memory consumption and time delay. Since we do not trust both foreign memory domains anyways, it is okay to directly copy "data" between them. Of course, any control messages should still be checked by the secure kernel (similar to control/data plane separation).