* [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