Re: [PATCH v11 6/7] soc: qcom: ice: add HWKM support to the ICE driver

kernel test robot
2025-02-08T20:02:56Z

Hi Eric,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 2014c95afecee3e76ca4a56956a936e23283f05b]

url: https://github.com/intel-lab-lkp/linux/commits/Eric-Biggers/blk-crypto-add-basic-hardware-wrapped-key-support/20250204-140702
base: 2014c95afecee3e76ca4a56956a936e23283f05b
patch link: https://lore.kernel.org/r/20250204060041.409950-7-ebiggers%40kernel.org
patch subject: [PATCH v11 6/7] soc: qcom: ice: add HWKM support to the ICE driver
config: openrisc-randconfig-r111-20250208 (https://download.01.org/0day-ci/archive/20250209/202502090302.znlTCbTa-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20250209/202502090302.znlTCbTa-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502090302.znlTCbTa-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/soc/qcom/ice.c:337:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] regval @@
drivers/soc/qcom/ice.c:337:9: sparse: expected unsigned int [usertype] value
drivers/soc/qcom/ice.c:337:9: sparse: got restricted __le32 [usertype] regval

vim +337 drivers/soc/qcom/ice.c

302
303 static int qcom_ice_program_wrapped_key(struct qcom_ice *ice, unsigned int slot,
304 const struct blk_crypto_key *bkey)
305 {
306 struct device *dev = ice->dev;
307 union crypto_cfg cfg = {
308 .dusize = bkey->crypto_cfg.data_unit_size / 512,
309 .capidx = QCOM_SCM_ICE_CIPHER_AES_256_XTS,
310 .cfge = QCOM_ICE_HWKM_CFG_ENABLE_VAL,
311 };
312 int err;
313
314 if (!ice->use_hwkm) {
315 dev_err_ratelimited(dev, "Got wrapped key when not using HWKM\n");
316 return -EINVAL;
317 }
318 if (!ice->hwkm_init_complete) {
319 dev_err_ratelimited(dev, "HWKM not yet initialized\n");
320 return -EINVAL;
321 }
322
323 /* Clear CFGE before programming the key. */
324 qcom_ice_writel(ice, 0x0, QCOM_ICE_REG_CRYPTOCFG(slot));
325
326 /* Call into TrustZone to program the wrapped key using HWKM. */
327 err = qcom_scm_ice_set_key(translate_hwkm_slot(ice, slot), bkey->bytes,
328 bkey->size, cfg.capidx, cfg.dusize);
329 if (err) {
330 dev_err_ratelimited(dev,
331 "qcom_scm_ice_set_key failed; err=%d, slot=%u\n",
332 err, slot);
333 return err;
334 }
335
336 /* Set CFGE after programming the key. */
> 337 qcom_ice_writel(ice, cfg.regval, QCOM_ICE_REG_CRYPTOCFG(slot));
338 return 0;
339 }
340

--
0-DAY CI Kernel Test Service