Is it possible that idata->buf is not DMA capable? Any other ideas?
Thanks for testing. I don't know, the idata->buf is allocated using alloc_pages_exact(nr_pages * PAGE_SIZE, GFP_KERNEL | __GFP_ZERO); in optee_pool_op_alloc_helper().
Is this really true for idata->buf or isnt the complete RPMB frame memory allocated like this and therefore idata->buf not page aligned?
You're right.
Maybe add an assert of PAGE_ALIGNED(idata->buf)?
Thanks, Avri
For RPMB via tee-supplicant the idata->buf is allocated within memdup_user and therefore page aligned.
Yes, that's a difference. Have you tested with page-aligned buffers to see if it helps?