Skip to content

Basic inline encryption support for ufs-exynos

Eric Biggers linux-fscrypt linux-samsung-soc linux-scsi 3 versions – Applied

Status from this message: Applied to 6.11/scsi-staging, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest6 patches 11 repliesApplied
  2. v26 patches 12 repliesSuperseded
  3. v16 patches 4 repliesSuperseded

Changes in v3 from the cover letter

- Made the FMP support depend on EXYNOS_UFS_OPT_UFSPR_SECURE, since the !EXYNOS_UFS_OPT_UFSPR_SECURE case has not yet been tested
- Replaced LOG2_DATA_UNIT_SIZE with ilog2(DATA_UNIT_SIZE)
- Added Reviewed-by tags

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/6scsi: ufs: core: Add UFSHCD_QUIRK_CUSTOM_CRYPTO_PROFILEdrivers/ufs/core/ufshcd-crypto.c include/ufs/ufshcd.h+16 -31 reply
2/6scsi: ufs: core: fold ufshcd_clear_keyslot() into its callerdrivers/ufs/core/ufshcd-crypto.c+5 -111 reply
3/6scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_CRYPTO_ENABLEdrivers/ufs/core/ufshcd-crypto.c include/ufs/ufshcd.h+15 -01 reply
4/6scsi: ufs: core: Add fill_crypto_prdt variant opdrivers/ufs/core/ufshcd-crypto.h drivers/ufs/core/ufshcd.c include/ufs/ufshcd.h+24 -11 reply
5/6scsi: ufs: core: Add UFSHCD_QUIRK_KEYS_IN_PRDTdrivers/ufs/core/ufshcd-crypto.h drivers/ufs/core/ufshcd.c include/ufs/ufshcd.h+26 -01 reply
6/6scsi: ufs: exynos: Add support for Flash Memory Protector (FMP)drivers/ufs/host/ufs-exynos.c+234 -64 replies

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchBart Van AsschePeter GriffinAlim Akhtar
1/6R-b R-b R-b
2/6R-b R-b R-b
3/6R-b R-b R-b
4/6R-b R-b R-b
5/6R-b R-b R-b
6/6R-b T-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v3 thread

Cover letter [PATCH v3 0/6] Basic inline encryption support for ufs-exynos

Add support for Flash Memory Protector (FMP), which is the inline encryption hardware on Exynos and Exynos-based SoCs.

Specifically, add support for the "traditional FMP mode" that works on many Exynos-based SoCs including gs101. This is the mode that uses "software keys" and is compatible with the upstream kernel's existing inline encryption framework in the block and filesystem layers. I plan to add support for the wrapped key support on gs101 at a later time.

Tested on gs101 (specifically Pixel 6) by running the 'encrypt' group of xfstests on a filesystem mounted with the 'inlinecrypt' mount option.

This patchset applies to v6.10-rc6, and it has no prerequisites that aren't already upstream.

Changed in v3:
- Made the FMP support depend on EXYNOS_UFS_OPT_UFSPR_SECURE, since the !EXYNOS_UFS_OPT_UFSPR_SECURE case has not yet been tested
- Replaced LOG2_DATA_UNIT_SIZE with ilog2(DATA_UNIT_SIZE)
- Added Reviewed-by tags

Changed in v2:
- Added DATA_UNIT_SIZE macro
- Changed a comment into kerneldoc
- Used ARM_SMCCC_CALL_VAL() to define SMC codes
- Used arm_smccc_smc() directly instead of via a wrapper function

Eric Biggers (6):
scsi: ufs: core: Add UFSHCD_QUIRK_CUSTOM_CRYPTO_PROFILE
scsi: ufs: core: fold ufshcd_clear_keyslot() into its caller
scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_CRYPTO_ENABLE
scsi: ufs: core: Add fill_crypto_prdt variant op
scsi: ufs: core: Add UFSHCD_QUIRK_KEYS_IN_PRDT
scsi: ufs: exynos: Add support for Flash Memory Protector (FMP)

 drivers/ufs/core/ufshcd-crypto.c |  34 +++--
 drivers/ufs/core/ufshcd-crypto.h |  36 +++++
 drivers/ufs/core/ufshcd.c        |   3 +-
 drivers/ufs/host/ufs-exynos.c    | 240 ++++++++++++++++++++++++++++++-
 include/ufs/ufshcd.h             |  28 ++++
 5 files changed, 320 insertions(+), 21 deletions(-)

base-commit: 22a40d14b572deb80c0648557f4bd502d7e83826

Signature · 1 line
2.45.2