| From: |
| Eric Biggers <ebiggers-AT-kernel.org> |
| To: |
| linux-scsi-AT-vger.kernel.org |
| Subject: |
| [PATCH v3 0/6] Basic inline encryption support for ufs-exynos |
| Date: |
| Mon, 08 Jul 2024 16:53:24 -0700 |
| Message-ID: |
| <20240708235330.103590-1-ebiggers@kernel.org> |
| Cc: |
| linux-samsung-soc-AT-vger.kernel.org, linux-fscrypt-AT-vger.kernel.org, Alim Akhtar <alim.akhtar-AT-samsung.com>, Avri Altman <avri.altman-AT-wdc.com>, Bart Van Assche <bvanassche-AT-acm.org>, "Martin K . Petersen" <martin.petersen-AT-oracle.com>, Peter Griffin <peter.griffin-AT-linaro.org>, André Draszik <andre.draszik-AT-linaro.org>, William McVicker <willmcvicker-AT-google.com> |
| Archive-link: |
| Article |
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
--
2.45.2