* [PATCH v10 01/15] ufs: qcom: fix crypto key eviction
[not found] <20241213041958.202565-1-ebiggers@kernel.org>
@ 2024-12-13 4:19 ` Eric Biggers
2024-12-13 4:19 ` [PATCH v10 05/15] mmc: sdhci-msm: " Eric Biggers
1 sibling, 0 replies; 3+ messages in thread
From: Eric Biggers @ 2024-12-13 4:19 UTC (permalink / raw)
To: linux-block, linux-fscrypt, linux-mmc, linux-scsi, linux-arm-msm,
Bartosz Golaszewski, Gaurav Kashyap
Cc: Adrian Hunter, Alim Akhtar, Avri Altman, Bart Van Assche,
Bjorn Andersson, Dmitry Baryshkov, James E . J . Bottomley,
Jens Axboe, Konrad Dybcio, Manivannan Sadhasivam,
Martin K . Petersen, Ulf Hansson, stable, Abel Vesa
From: Eric Biggers <ebiggers@google.com>
Commit 56541c7c4468 ("scsi: ufs: ufs-qcom: Switch to the new ICE API")
introduced an incorrect check of the algorithm ID into the key eviction
path, and thus qcom_ice_evict_key() is no longer ever called. Fix it.
Fixes: 56541c7c4468 ("scsi: ufs: ufs-qcom: Switch to the new ICE API")
Cc: stable@vger.kernel.org
Cc: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
drivers/ufs/host/ufs-qcom.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index 68040b2ab5f8..e33ae71245dd 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -153,27 +153,25 @@ static int ufs_qcom_ice_program_key(struct ufs_hba *hba,
const union ufs_crypto_cfg_entry *cfg,
int slot)
{
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
union ufs_crypto_cap_entry cap;
- bool config_enable =
- cfg->config_enable & UFS_CRYPTO_CONFIGURATION_ENABLE;
+
+ if (!(cfg->config_enable & UFS_CRYPTO_CONFIGURATION_ENABLE))
+ return qcom_ice_evict_key(host->ice, slot);
/* Only AES-256-XTS has been tested so far. */
cap = hba->crypto_cap_array[cfg->crypto_cap_idx];
if (cap.algorithm_id != UFS_CRYPTO_ALG_AES_XTS ||
cap.key_size != UFS_CRYPTO_KEY_SIZE_256)
return -EOPNOTSUPP;
- if (config_enable)
- return qcom_ice_program_key(host->ice,
- QCOM_ICE_CRYPTO_ALG_AES_XTS,
- QCOM_ICE_CRYPTO_KEY_SIZE_256,
- cfg->crypto_key,
- cfg->data_unit_size, slot);
- else
- return qcom_ice_evict_key(host->ice, slot);
+ return qcom_ice_program_key(host->ice,
+ QCOM_ICE_CRYPTO_ALG_AES_XTS,
+ QCOM_ICE_CRYPTO_KEY_SIZE_256,
+ cfg->crypto_key,
+ cfg->data_unit_size, slot);
}
#else
#define ufs_qcom_ice_program_key NULL
--
2.47.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v10 05/15] mmc: sdhci-msm: fix crypto key eviction
[not found] <20241213041958.202565-1-ebiggers@kernel.org>
2024-12-13 4:19 ` [PATCH v10 01/15] ufs: qcom: fix crypto key eviction Eric Biggers
@ 2024-12-13 4:19 ` Eric Biggers
2024-12-19 13:48 ` Ulf Hansson
1 sibling, 1 reply; 3+ messages in thread
From: Eric Biggers @ 2024-12-13 4:19 UTC (permalink / raw)
To: linux-block, linux-fscrypt, linux-mmc, linux-scsi, linux-arm-msm,
Bartosz Golaszewski, Gaurav Kashyap
Cc: Adrian Hunter, Alim Akhtar, Avri Altman, Bart Van Assche,
Bjorn Andersson, Dmitry Baryshkov, James E . J . Bottomley,
Jens Axboe, Konrad Dybcio, Manivannan Sadhasivam,
Martin K . Petersen, Ulf Hansson, stable, Abel Vesa
From: Eric Biggers <ebiggers@google.com>
Commit c7eed31e235c ("mmc: sdhci-msm: Switch to the new ICE API")
introduced an incorrect check of the algorithm ID into the key eviction
path, and thus qcom_ice_evict_key() is no longer ever called. Fix it.
Fixes: c7eed31e235c ("mmc: sdhci-msm: Switch to the new ICE API")
Cc: stable@vger.kernel.org
Cc: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
drivers/mmc/host/sdhci-msm.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index e00208535bd1..319f0ebbe652 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1865,24 +1865,24 @@ static int sdhci_msm_program_key(struct cqhci_host *cq_host,
struct sdhci_host *host = mmc_priv(cq_host->mmc);
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
struct sdhci_msm_host *msm_host = sdhci_pltfm_priv(pltfm_host);
union cqhci_crypto_cap_entry cap;
+ if (!(cfg->config_enable & CQHCI_CRYPTO_CONFIGURATION_ENABLE))
+ return qcom_ice_evict_key(msm_host->ice, slot);
+
/* Only AES-256-XTS has been tested so far. */
cap = cq_host->crypto_cap_array[cfg->crypto_cap_idx];
if (cap.algorithm_id != CQHCI_CRYPTO_ALG_AES_XTS ||
cap.key_size != CQHCI_CRYPTO_KEY_SIZE_256)
return -EINVAL;
- if (cfg->config_enable & CQHCI_CRYPTO_CONFIGURATION_ENABLE)
- return qcom_ice_program_key(msm_host->ice,
- QCOM_ICE_CRYPTO_ALG_AES_XTS,
- QCOM_ICE_CRYPTO_KEY_SIZE_256,
- cfg->crypto_key,
- cfg->data_unit_size, slot);
- else
- return qcom_ice_evict_key(msm_host->ice, slot);
+ return qcom_ice_program_key(msm_host->ice,
+ QCOM_ICE_CRYPTO_ALG_AES_XTS,
+ QCOM_ICE_CRYPTO_KEY_SIZE_256,
+ cfg->crypto_key,
+ cfg->data_unit_size, slot);
}
#else /* CONFIG_MMC_CRYPTO */
static inline int sdhci_msm_ice_init(struct sdhci_msm_host *msm_host,
--
2.47.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v10 05/15] mmc: sdhci-msm: fix crypto key eviction
2024-12-13 4:19 ` [PATCH v10 05/15] mmc: sdhci-msm: " Eric Biggers
@ 2024-12-19 13:48 ` Ulf Hansson
0 siblings, 0 replies; 3+ messages in thread
From: Ulf Hansson @ 2024-12-19 13:48 UTC (permalink / raw)
To: Eric Biggers
Cc: linux-block, linux-fscrypt, linux-mmc, linux-scsi, linux-arm-msm,
Bartosz Golaszewski, Gaurav Kashyap, Adrian Hunter, Alim Akhtar,
Avri Altman, Bart Van Assche, Bjorn Andersson, Dmitry Baryshkov,
James E . J . Bottomley, Jens Axboe, Konrad Dybcio,
Manivannan Sadhasivam, Martin K . Petersen, stable, Abel Vesa
On Fri, 13 Dec 2024 at 05:20, Eric Biggers <ebiggers@kernel.org> wrote:
>
> From: Eric Biggers <ebiggers@google.com>
>
> Commit c7eed31e235c ("mmc: sdhci-msm: Switch to the new ICE API")
> introduced an incorrect check of the algorithm ID into the key eviction
> path, and thus qcom_ice_evict_key() is no longer ever called. Fix it.
>
> Fixes: c7eed31e235c ("mmc: sdhci-msm: Switch to the new ICE API")
> Cc: stable@vger.kernel.org
> Cc: Abel Vesa <abel.vesa@linaro.org>
> Signed-off-by: Eric Biggers <ebiggers@google.com>
Applied for fixes, thanks!
Kind regards
Uffe
> ---
> drivers/mmc/host/sdhci-msm.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index e00208535bd1..319f0ebbe652 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -1865,24 +1865,24 @@ static int sdhci_msm_program_key(struct cqhci_host *cq_host,
> struct sdhci_host *host = mmc_priv(cq_host->mmc);
> struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
> struct sdhci_msm_host *msm_host = sdhci_pltfm_priv(pltfm_host);
> union cqhci_crypto_cap_entry cap;
>
> + if (!(cfg->config_enable & CQHCI_CRYPTO_CONFIGURATION_ENABLE))
> + return qcom_ice_evict_key(msm_host->ice, slot);
> +
> /* Only AES-256-XTS has been tested so far. */
> cap = cq_host->crypto_cap_array[cfg->crypto_cap_idx];
> if (cap.algorithm_id != CQHCI_CRYPTO_ALG_AES_XTS ||
> cap.key_size != CQHCI_CRYPTO_KEY_SIZE_256)
> return -EINVAL;
>
> - if (cfg->config_enable & CQHCI_CRYPTO_CONFIGURATION_ENABLE)
> - return qcom_ice_program_key(msm_host->ice,
> - QCOM_ICE_CRYPTO_ALG_AES_XTS,
> - QCOM_ICE_CRYPTO_KEY_SIZE_256,
> - cfg->crypto_key,
> - cfg->data_unit_size, slot);
> - else
> - return qcom_ice_evict_key(msm_host->ice, slot);
> + return qcom_ice_program_key(msm_host->ice,
> + QCOM_ICE_CRYPTO_ALG_AES_XTS,
> + QCOM_ICE_CRYPTO_KEY_SIZE_256,
> + cfg->crypto_key,
> + cfg->data_unit_size, slot);
> }
>
> #else /* CONFIG_MMC_CRYPTO */
>
> static inline int sdhci_msm_ice_init(struct sdhci_msm_host *msm_host,
> --
> 2.47.1
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-12-19 13:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20241213041958.202565-1-ebiggers@kernel.org>
2024-12-13 4:19 ` [PATCH v10 01/15] ufs: qcom: fix crypto key eviction Eric Biggers
2024-12-13 4:19 ` [PATCH v10 05/15] mmc: sdhci-msm: " Eric Biggers
2024-12-19 13:48 ` Ulf Hansson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox