From: Jorge Ramirez <jorge.ramirez@oss.qualcomm.com>
To: Bean Huo <beanhuo@iokpp.de>
Cc: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>,
James.Bottomley@hansenpartnership.com,
martin.petersen@oracle.com, alim.akhtar@samsung.com,
avri.altman@wdc.com, bvanassche@acm.org,
can.guo@oss.qualcomm.com, beanhuo@micron.com,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
jenswi@kernel.org, sumit.garg@oss.qualcomm.com
Subject: Re: [PATCH v1 0/2] ufs: rpmb: make RPMB usable with OP-TEE key derivation
Date: Mon, 20 Jul 2026 12:56:03 +0200 [thread overview]
Message-ID: <al3-w3j2-E2twGZj@trex> (raw)
In-Reply-To: <2e8b4b54f8bdd933d97afdcd52d44682440647b0.camel@iokpp.de>
On 20/07/26 12:23:39, Bean Huo wrote:
>
> This is very strange, coverletter is v1, but the patches are v2?
I messed up (manual edition of the letter) but the thread is proper
>
>
> On Mon, 2026-07-20 at 11:16 +0200, Jorge Ramirez-Ortiz wrote:
> > This series makes UFS RPMB work out of the box with an OP-TEE that
> > implements the standard eMMC RPMB key-derivation flow, without requiring
> > any fundamental changes on the OP-TEE side.
> >
> > RPMB provides an authenticated, replay-protected storage area whose
> > security relies on a secret authentication key. In our setup that key is
> > never exposed to the kernel: OP-TEE derives it in the secure world from
> > its hardware-unique key and a device identifier (dev_id) that the RPMB
> > core hands down. OP-TEE's implementation targets eMMC, where dev_id is
> > the 16-byte eMMC CID, and both the fixed length and the raw-CID layout
> > are baked into its key derivation.
> >
> > Two things stand in the way of reusing that same, unmodified OP-TEE flow
> > for UFS RPMB:
> >
> > 1. On a cold boot the very first frame sent to the RPMB well-known LU
> > comes back with a power-on UNIT ATTENTION (ASC 0x29), which the SCSI
> > core reports rather than retries. RPMB has no earlier guaranteed
> > access that could clear the condition first, so RPMB fails on every
> > power cycle. Patch 1 asks the SCSI core to retry the power-on UNIT
> > ATTENTION on the RPMB WLUN.
> >
> > 2. The UFS RPMB id 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
> > eMMC CID ABI. Patch 2 hashes it into a fixed 16-byte dev_id with
> > blake2s, keeping the key stable and unique per region while matching
> > the eMMC CID layout OP-TEE relies on. The hash algorithm and input
> > string are thus part of the key-derivation ABI and must stay stable.
> >
> > With both patches, UFS RPMB is functional from the first access after a
> > cold boot and derives keys through the existing eMMC-style OP-TEE flow,
> > (requires minimal OP-TEE changes pending on the CID proposal done here).
> >
> > Tested on IQ-9075 with Open Firmware [1], pending OP-TEE changes
> > [1]https://ldts.github.io/qcom-buildroot
> >
> > Dependencies:
> >
> > U-boot:
> > https://lore.kernel.org/u-boot/20260720085202.537019-1-jorge.ramirez@oss.qualcomm.com/T/#mc423eb4dcf8a15849077029e4f7c1913bb7d8873
> >
> > OP-TEE:
> > https://github.com/OP-TEE/optee_os/pull/7881
> >
> > v2:
> > * ufs: rpmb: replace blake2s with blake2b so that the same support
> > can be added to u-boot (CRYPTO_LIB_BLAKE2B)
> > * added links to U-boot and OP-TEE changes.
> >
> > v1:
> > * ufs: rpmb: retry power-on UNIT ATTENTION on the RPMB WLUN:
> > - fix using uses SCMD_FAILURE_ASC_ANY to retry any Unit Attention
> > - fix unused variable
> > * ufs: rpmb: use a fixed-length RPMB dev_id
> > - fix selecting a non-existent Kconfig symbol
> >
> > Jorge Ramirez-Ortiz (2):
> > ufs: rpmb: retry power-on UNIT ATTENTION on the RPMB WLUN
> > ufs: rpmb: use a fixed-length RPMB dev_id
> >
> > drivers/ufs/core/ufs-rpmb.c | 39 ++++++++++++++++++++++++++++++++++---
> > 1 file changed, 36 insertions(+), 3 deletions(-)
> >
>
next prev parent reply other threads:[~2026-07-20 10:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 9:16 [PATCH v1 0/2] ufs: rpmb: make RPMB usable with OP-TEE key derivation Jorge Ramirez-Ortiz
2026-07-20 9:16 ` [PATCH v2 1/2] ufs: rpmb: retry power-on UNIT ATTENTION on the RPMB WLUN Jorge Ramirez-Ortiz
2026-07-20 9:16 ` [PATCH v2 2/2] ufs: rpmb: use a fixed-length RPMB dev_id Jorge Ramirez-Ortiz
2026-07-20 9:28 ` sashiko-bot
2026-07-20 10:23 ` [PATCH v1 0/2] ufs: rpmb: make RPMB usable with OP-TEE key derivation Bean Huo
2026-07-20 10:56 ` Jorge Ramirez [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-07-16 8:37 Jorge Ramirez-Ortiz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=al3-w3j2-E2twGZj@trex \
--to=jorge.ramirez@oss.qualcomm.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@wdc.com \
--cc=beanhuo@iokpp.de \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=can.guo@oss.qualcomm.com \
--cc=jenswi@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sumit.garg@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox