On Fri, 2026-08-21 at 17:06 +0200, Jorge Ramirez-Ortiz wrote:
The RPMB authentication key is derived from the dev_id handed to the RPMB subsystem. OP-TEE implements the eMMC RPMB flow, where the dev_id is the eMMC CID, a fixed 16-byte value, and it derives the key on that assumption.
The UFS RPMB id built here is "<device_id>-R<region>", which is variable length and longer than 16 bytes. Passing it verbatim would tie the derived key to a length OP-TEE does not expect and diverge from the fixed-CID eMMC ABI, requiring OP-TEE to be taught about variable-length UFS ids.
Hash the UFS id into a fixed 16-byte dev_id with blake2b instead. This keeps the derived key stable and unique per region while matching the eMMC CID layout OP-TEE relies on, so the key-derivation ABI stays identical and no OP-TEE change is needed. blake2b is used because it is already available in bootloaders such as U-Boot that must derive the same dev_id, avoiding the need to add a blake2s implementation there.
Signed-off-by: Jorge Ramirez-Ortiz jorge.ramirez@oss.qualcomm.com
Looks good to me!
Reviewed-by: Bean Huo beanhuo@micron.com