CC: kbuild-...@lists.01.org CC: linux-ker...@vger.kernel.org TO: Satya Tangirala <sat...@google.com> CC: "Martin K. Petersen" <martin.peter...@oracle.com> CC: Eric Biggers <ebigg...@google.com> CC: Stanley Chu <stanley....@mediatek.com> CC: Alim Akhtar <alim.akh...@samsung.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5bfc75d92efd494db37f5c4c173d3639d4772966 commit: 70297a8ac7a7a4a3284c2eb20fefefbe72dab338 scsi: ufs: UFS crypto API date: 10 months ago :::::: branch date: 5 hours ago :::::: commit date: 10 months ago config: x86_64-randconfig-m001-20210424 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> Reported-by: Dan Carpenter <dan.carpen...@oracle.com> smatch warnings: drivers/scsi/ufs/ufshcd-crypto.c:160 ufshcd_hba_init_crypto_capabilities() warn: missing error code 'err' vim +/err +160 drivers/scsi/ufs/ufshcd-crypto.c 70297a8ac7a7a4 Satya Tangirala 2020-07-06 139 70297a8ac7a7a4 Satya Tangirala 2020-07-06 140 /** 70297a8ac7a7a4 Satya Tangirala 2020-07-06 141 * ufshcd_hba_init_crypto_capabilities - Read crypto capabilities, init crypto 70297a8ac7a7a4 Satya Tangirala 2020-07-06 142 * fields in hba 70297a8ac7a7a4 Satya Tangirala 2020-07-06 143 * @hba: Per adapter instance 70297a8ac7a7a4 Satya Tangirala 2020-07-06 144 * 70297a8ac7a7a4 Satya Tangirala 2020-07-06 145 * Return: 0 if crypto was initialized or is not supported, else a -errno value. 70297a8ac7a7a4 Satya Tangirala 2020-07-06 146 */ 70297a8ac7a7a4 Satya Tangirala 2020-07-06 147 int ufshcd_hba_init_crypto_capabilities(struct ufs_hba *hba) 70297a8ac7a7a4 Satya Tangirala 2020-07-06 148 { 70297a8ac7a7a4 Satya Tangirala 2020-07-06 149 int cap_idx; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 150 int err = 0; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 151 enum blk_crypto_mode_num blk_mode_num; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 152 70297a8ac7a7a4 Satya Tangirala 2020-07-06 153 /* 70297a8ac7a7a4 Satya Tangirala 2020-07-06 154 * Don't use crypto if either the hardware doesn't advertise the 70297a8ac7a7a4 Satya Tangirala 2020-07-06 155 * standard crypto capability bit *or* if the vendor specific driver 70297a8ac7a7a4 Satya Tangirala 2020-07-06 156 * hasn't advertised that crypto is supported. 70297a8ac7a7a4 Satya Tangirala 2020-07-06 157 */ 70297a8ac7a7a4 Satya Tangirala 2020-07-06 158 if (!(hba->capabilities & MASK_CRYPTO_SUPPORT) || 70297a8ac7a7a4 Satya Tangirala 2020-07-06 159 !(hba->caps & UFSHCD_CAP_CRYPTO)) 70297a8ac7a7a4 Satya Tangirala 2020-07-06 @160 goto out; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 161 70297a8ac7a7a4 Satya Tangirala 2020-07-06 162 hba->crypto_capabilities.reg_val = 70297a8ac7a7a4 Satya Tangirala 2020-07-06 163 cpu_to_le32(ufshcd_readl(hba, REG_UFS_CCAP)); 70297a8ac7a7a4 Satya Tangirala 2020-07-06 164 hba->crypto_cfg_register = 70297a8ac7a7a4 Satya Tangirala 2020-07-06 165 (u32)hba->crypto_capabilities.config_array_ptr * 0x100; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 166 hba->crypto_cap_array = 70297a8ac7a7a4 Satya Tangirala 2020-07-06 167 devm_kcalloc(hba->dev, hba->crypto_capabilities.num_crypto_cap, 70297a8ac7a7a4 Satya Tangirala 2020-07-06 168 sizeof(hba->crypto_cap_array[0]), GFP_KERNEL); 70297a8ac7a7a4 Satya Tangirala 2020-07-06 169 if (!hba->crypto_cap_array) { 70297a8ac7a7a4 Satya Tangirala 2020-07-06 170 err = -ENOMEM; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 171 goto out; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 172 } 70297a8ac7a7a4 Satya Tangirala 2020-07-06 173 70297a8ac7a7a4 Satya Tangirala 2020-07-06 174 /* The actual number of configurations supported is (CFGC+1) */ 70297a8ac7a7a4 Satya Tangirala 2020-07-06 175 err = blk_ksm_init(&hba->ksm, 70297a8ac7a7a4 Satya Tangirala 2020-07-06 176 hba->crypto_capabilities.config_count + 1); 70297a8ac7a7a4 Satya Tangirala 2020-07-06 177 if (err) 70297a8ac7a7a4 Satya Tangirala 2020-07-06 178 goto out_free_caps; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 179 70297a8ac7a7a4 Satya Tangirala 2020-07-06 180 hba->ksm.ksm_ll_ops = ufshcd_ksm_ops; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 181 /* UFS only supports 8 bytes for any DUN */ 70297a8ac7a7a4 Satya Tangirala 2020-07-06 182 hba->ksm.max_dun_bytes_supported = 8; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 183 hba->ksm.dev = hba->dev; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 184 70297a8ac7a7a4 Satya Tangirala 2020-07-06 185 /* 70297a8ac7a7a4 Satya Tangirala 2020-07-06 186 * Cache all the UFS crypto capabilities and advertise the supported 70297a8ac7a7a4 Satya Tangirala 2020-07-06 187 * crypto modes and data unit sizes to the block layer. 70297a8ac7a7a4 Satya Tangirala 2020-07-06 188 */ 70297a8ac7a7a4 Satya Tangirala 2020-07-06 189 for (cap_idx = 0; cap_idx < hba->crypto_capabilities.num_crypto_cap; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 190 cap_idx++) { 70297a8ac7a7a4 Satya Tangirala 2020-07-06 191 hba->crypto_cap_array[cap_idx].reg_val = 70297a8ac7a7a4 Satya Tangirala 2020-07-06 192 cpu_to_le32(ufshcd_readl(hba, 70297a8ac7a7a4 Satya Tangirala 2020-07-06 193 REG_UFS_CRYPTOCAP + 70297a8ac7a7a4 Satya Tangirala 2020-07-06 194 cap_idx * sizeof(__le32))); 70297a8ac7a7a4 Satya Tangirala 2020-07-06 195 blk_mode_num = ufshcd_find_blk_crypto_mode( 70297a8ac7a7a4 Satya Tangirala 2020-07-06 196 hba->crypto_cap_array[cap_idx]); 70297a8ac7a7a4 Satya Tangirala 2020-07-06 197 if (blk_mode_num != BLK_ENCRYPTION_MODE_INVALID) 70297a8ac7a7a4 Satya Tangirala 2020-07-06 198 hba->ksm.crypto_modes_supported[blk_mode_num] |= 70297a8ac7a7a4 Satya Tangirala 2020-07-06 199 hba->crypto_cap_array[cap_idx].sdus_mask * 512; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 200 } 70297a8ac7a7a4 Satya Tangirala 2020-07-06 201 70297a8ac7a7a4 Satya Tangirala 2020-07-06 202 return 0; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 203 70297a8ac7a7a4 Satya Tangirala 2020-07-06 204 out_free_caps: 70297a8ac7a7a4 Satya Tangirala 2020-07-06 205 devm_kfree(hba->dev, hba->crypto_cap_array); 70297a8ac7a7a4 Satya Tangirala 2020-07-06 206 out: 70297a8ac7a7a4 Satya Tangirala 2020-07-06 207 /* Indicate that init failed by clearing UFSHCD_CAP_CRYPTO */ 70297a8ac7a7a4 Satya Tangirala 2020-07-06 208 hba->caps &= ~UFSHCD_CAP_CRYPTO; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 209 return err; 70297a8ac7a7a4 Satya Tangirala 2020-07-06 210 } 70297a8ac7a7a4 Satya Tangirala 2020-07-06 211 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org