mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bean Huo <beanhuo@iokpp.de>
To: avri.altman@wdc.com, avri.altman@sandisk.com, bvanassche@acm.org,
	alim.akhtar@samsung.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, can.guo@oss.qualcomm.com,
	ulf.hansson@linaro.org, beanhuo@micron.com,
	jens.wiklander@linaro.org
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	Bean Huo <beanhuo@iokpp.de>
Subject: [PATCH v4 0/3] Add OP-TEE based RPMB driver for UFS devices
Date: Wed,  8 Oct 2025 22:19:17 +0200	[thread overview]
Message-ID: <20251008201920.89575-1-beanhuo@iokpp.de> (raw)

This patch series introduces OP-TEE based RPMB (Replay Protected Memory Block)
support for UFS devices, extending the kernel-level secure storage capabilities
that are currently available for eMMC devices.

Previously, OP-TEE required a userspace supplicant to access RPMB partitions,
which created complex dependencies and reliability issues, especially during
early boot scenarios. Recent work by Linaro has moved core supplicant
functionality directly into the Linux kernel for eMMC devices, eliminating
userspace dependencies and enabling immediate secure storage access. This series
extends the same approach to UFS devices, which are used in enterprise and mobile
applications that require secure storage capabilities.

Benefits:
- Eliminates dependency on userspace supplicant for UFS RPMB access
- Enables early boot secure storage access (e.g., fTPM, secure UEFI variables)
- Provides kernel-level RPMB access as soon as UFS driver is initialized
- Removes complex initramfs dependencies and boot ordering requirements
- Ensures reliable and deterministic secure storage operations
- Supports both built-in and modular fTPM configurations.

v3 -- v4:
    1. Replaced patch "scsi: ufs: core: Remove duplicate macro definitions" with
       "scsi: ufs: core: Convert string descriptor format macros to enum" based on
       feedback from Bart Van Assche
    2. Converted SD_ASCII_STD and SD_RAW from boolean macros to enum type for
       improved code readability
    3. Moved ufshcd_read_string_desc() declaration from include/ufs/ufshcd.h to
       drivers/ufs/core/ufshcd-priv.h since it's not exported

v2 -- v3:
    1. Removed patch "rpmb: move rpmb_frame struct and constants to common header". since it
       has been queued in mmc tree, and added a new patch:
       "scsi: ufs: core: Remove duplicate macro definitions"
    2. Incorporated suggestions from Jens
    3. Added check if Advanced RPMB is enabled, if enabled we will not register UFS OP-TEE RPMB.

v1 -- v2:
    1. Added fix tag for patch [2/3]
    2. Incorporated feedback and suggestions from Bart

RFC v1 -- v1:
    1. Added support for all UFS RPMB regions based on https://github.com/OP-TEE/optee_os/issues/7532
    2. Incorporated feedback and suggestions from Bart



Bean Huo (3):
  scsi: ufs: core: Convert string descriptor format macros to enum
  scsi: ufs: core: fix incorrect buffer duplication in
    ufshcd_read_string_desc()
  scsi: ufs: core: Add OP-TEE based RPMB driver for UFS devices

 drivers/misc/Kconfig           |   2 +-
 drivers/ufs/core/Makefile      |   1 +
 drivers/ufs/core/ufs-rpmb.c    | 249 +++++++++++++++++++++++++++++++++
 drivers/ufs/core/ufshcd-priv.h |  27 +++-
 drivers/ufs/core/ufshcd.c      |  40 ++++--
 include/ufs/ufs.h              |   4 +
 include/ufs/ufshcd.h           |  12 +-
 7 files changed, 314 insertions(+), 21 deletions(-)
 create mode 100644 drivers/ufs/core/ufs-rpmb.c

-- 
2.34.1


             reply	other threads:[~2025-10-08 20:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-08 20:19 Bean Huo [this message]
2025-10-08 20:19 ` [PATCH v4 1/3] scsi: ufs: core: Convert string descriptor format macros to enum Bean Huo
2025-10-08 20:19 ` [PATCH v4 2/3] scsi: ufs: core: fix incorrect buffer duplication in ufshcd_read_string_desc() Bean Huo
2025-10-08 20:19 ` [PATCH v4 3/3] scsi: ufs: core: Add OP-TEE based RPMB driver for UFS devices Bean Huo
2025-10-09 21:36   ` kernel test robot
2025-10-10  8:19     ` Bean Huo
2025-10-17  9:11       ` Ulf Hansson
2025-10-17  9:21         ` Bean Huo

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=20251008201920.89575-1-beanhuo@iokpp.de \
    --to=beanhuo@iokpp.de \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@sandisk.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=can.guo@oss.qualcomm.com \
    --cc=jejb@linux.ibm.com \
    --cc=jens.wiklander@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=ulf.hansson@linaro.org \
    /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

all inboxes | Powered by JetHome®