[PATCH v2 0/3] Add OP-TEE based RPMB driver for UFS devices

Bean Huo posted 3 patches 14 hours ago
drivers/misc/Kconfig           |   2 +-
drivers/mmc/core/block.c       |  42 ------
drivers/ufs/core/Makefile      |   1 +
drivers/ufs/core/ufs-rpmb.c    | 253 +++++++++++++++++++++++++++++++++
drivers/ufs/core/ufshcd-priv.h |  13 ++
drivers/ufs/core/ufshcd.c      |  32 ++++-
include/linux/rpmb.h           |  44 ++++++
include/ufs/ufs.h              |   4 +
include/ufs/ufshcd.h           |   3 +
9 files changed, 346 insertions(+), 48 deletions(-)
create mode 100644 drivers/ufs/core/ufs-rpmb.c
[PATCH v2 0/3] Add OP-TEE based RPMB driver for UFS devices
Posted by Bean Huo 14 hours ago
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.

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):
  rpmb: move rpmb_frame struct and constants to common header
  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/mmc/core/block.c       |  42 ------
 drivers/ufs/core/Makefile      |   1 +
 drivers/ufs/core/ufs-rpmb.c    | 253 +++++++++++++++++++++++++++++++++
 drivers/ufs/core/ufshcd-priv.h |  13 ++
 drivers/ufs/core/ufshcd.c      |  32 ++++-
 include/linux/rpmb.h           |  44 ++++++
 include/ufs/ufs.h              |   4 +
 include/ufs/ufshcd.h           |   3 +
 9 files changed, 346 insertions(+), 48 deletions(-)
 create mode 100644 drivers/ufs/core/ufs-rpmb.c

-- 
2.34.1