[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fab4cf38-d3b8-421d-a610-b16aad7670db@linaro.org>
Date: Mon, 17 Jun 2024 19:37:48 +0200
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Gaurav Kashyap <quic_gaurkash@...cinc.com>,
linux-arm-msm@...r.kernel.org, linux-scsi@...r.kernel.org,
andersson@...nel.org, ebiggers@...gle.com, neil.armstrong@...aro.org,
srinivas.kandagatla@...aro.org, krzysztof.kozlowski+dt@...aro.org,
conor+dt@...nel.org, robh+dt@...nel.org
Cc: linux-kernel@...r.kernel.org, linux-mmc@...r.kernel.org,
kernel@...cinc.com, linux-crypto@...r.kernel.org,
devicetree@...r.kernel.org, quic_omprsing@...cinc.com,
quic_nguyenb@...cinc.com, bartosz.golaszewski@...aro.org,
ulf.hansson@...aro.org, jejb@...ux.ibm.com, martin.petersen@...cle.com,
mani@...nel.org, davem@...emloft.net, herbert@...dor.apana.org.au,
psodagud@...cinc.com, quic_apurupa@...cinc.com, sonalg@...cinc.com
Subject: Re: [PATCH v5 08/15] ufs: core: add support to derive software secret
On 6/17/24 02:51, Gaurav Kashyap wrote:
> Block crypto allows storage controllers like UFS to
> register an op derive a software secret from wrapped
> keys added to the kernel.
>
> Wrapped keys in most cases will have vendor specific
> implementations, which means this op would need to have
> a corresponding UFS variant op.
> This change adds hooks in UFS core to support this variant
> ops and tie them to the blk crypto op.
>
> Tested-by: Neil Armstrong <neil.armstrong@...aro.org>
> Reviewed-by: Om Prakash Singh <quic_omprsing@...cinc.com>
> Signed-off-by: Gaurav Kashyap <quic_gaurkash@...cinc.com>
> ---
> drivers/ufs/core/ufshcd-crypto.c | 15 +++++++++++++++
> include/ufs/ufshcd.h | 4 ++++
> 2 files changed, 19 insertions(+)
>
> diff --git a/drivers/ufs/core/ufshcd-crypto.c b/drivers/ufs/core/ufshcd-crypto.c
> index 399b55d67b3b..c14800eac1ff 100644
> --- a/drivers/ufs/core/ufshcd-crypto.c
> +++ b/drivers/ufs/core/ufshcd-crypto.c
> @@ -119,6 +119,20 @@ static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile,
> return ufshcd_clear_keyslot(hba, slot);
> }
>
> +static int ufshcd_crypto_derive_sw_secret(struct blk_crypto_profile *profile,
> + const u8 wkey[], size_t wkey_size,
> + u8 sw_secret[BLK_CRYPTO_SW_SECRET_SIZE])
> +{
> + struct ufs_hba *hba =
> + container_of(profile, struct ufs_hba, crypto_profile);
> +
> + if (hba->vops && hba->vops->derive_sw_secret)
> + return hba->vops->derive_sw_secret(hba, wkey, wkey_size,
Double space
Konrad
Powered by blists - more mailing lists