Re: [PATCH v6 11/17] soc: qcom: ice: add support for generating, importing and preparing keys

From: kernel test robot
Date: Sun Sep 08 2024 - 22:37:38 EST


Hi Bartosz,

kernel test robot noticed the following build warnings:

[auto build test WARNING on ad40aff1edffeccc412cde93894196dca7bc739e]

url: https://github.com/intel-lab-lkp/linux/commits/Bartosz-Golaszewski/blk-crypto-add-basic-hardware-wrapped-key-support/20240907-023147
base: ad40aff1edffeccc412cde93894196dca7bc739e
patch link: https://lore.kernel.org/r/20240906-wrapped-keys-v6-11-d59e61bc0cb4%40linaro.org
patch subject: [PATCH v6 11/17] soc: qcom: ice: add support for generating, importing and preparing keys
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240909/202409091043.FwxHoaRd-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240909/202409091043.FwxHoaRd-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409091043.FwxHoaRd-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/soc/qcom/ice.c:470: warning: Function parameter or struct member 'ice' not described in 'qcom_ice_generate_key'
>> drivers/soc/qcom/ice.c:495: warning: Function parameter or struct member 'ice' not described in 'qcom_ice_prepare_key'
>> drivers/soc/qcom/ice.c:519: warning: Function parameter or struct member 'ice' not described in 'qcom_ice_import_key'

Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for OMAP2PLUS_MBOX
Depends on [n]: MAILBOX [=y] && (ARCH_OMAP2PLUS || ARCH_K3)
Selected by [y]:
- TI_K3_M4_REMOTEPROC [=y] && REMOTEPROC [=y] && (ARCH_K3 || COMPILE_TEST [=y])


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

457
458 /**
459 * qcom_ice_generate_key() - Generate a wrapped key for inline encryption
460 * @lt_key: long-term wrapped key to be generated, which is
461 * BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE in size.
462 *
463 * Make a scm call into trustzone to generate a wrapped key for storage
464 * encryption using hwkm.
465 *
466 * Returns: 0 on success, -errno on failure.
467 */
468 int qcom_ice_generate_key(struct qcom_ice *ice,
469 u8 lt_key[BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE])
> 470 {
471 size_t wk_size = QCOM_ICE_HWKM_WRAPPED_KEY_SIZE(ice->hwkm_version);
472
473 if (!qcom_scm_generate_ice_key(lt_key, wk_size))
474 return wk_size;
475
476 return 0;
477 }
478 EXPORT_SYMBOL_GPL(qcom_ice_generate_key);
479
480 /**
481 * qcom_ice_prepare_key() - Prepare a long-term wrapped key for inline encryption
482 * @lt_key: longterm wrapped key that was generated or imported.
483 * @lt_key_size: size of the longterm wrapped_key
484 * @eph_key: wrapped key returned which has been wrapped with a per-boot ephemeral key,
485 * size of which is BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE in size.
486 *
487 * Make a scm call into trustzone to prepare a wrapped key for storage
488 * encryption by rewrapping the longterm wrapped key with a per boot ephemeral
489 * key using hwkm.
490 *
491 * Return: 0 on success; -errno on failure.
492 */
493 int qcom_ice_prepare_key(struct qcom_ice *ice, const u8 *lt_key, size_t lt_key_size,
494 u8 eph_key[BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE])
> 495 {
496 size_t wk_size = QCOM_ICE_HWKM_WRAPPED_KEY_SIZE(ice->hwkm_version);
497
498 if (!qcom_scm_prepare_ice_key(lt_key, lt_key_size, eph_key, wk_size))
499 return wk_size;
500
501 return 0;
502 }
503 EXPORT_SYMBOL_GPL(qcom_ice_prepare_key);
504
505 /**
506 * qcom_ice_import_key() - Import a raw key for inline encryption
507 * @imp_key: raw key that has to be imported
508 * @imp_key_size: size of the imported key
509 * @lt_key: longterm wrapped key that is imported, which is
510 * BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE in size.
511 *
512 * Make a scm call into trustzone to import a raw key for storage encryption
513 * and generate a longterm wrapped key using hwkm.
514 *
515 * Return: 0 on success; -errno on failure.
516 */
517 int qcom_ice_import_key(struct qcom_ice *ice, const u8 *imp_key, size_t imp_key_size,
518 u8 lt_key[BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE])
> 519 {
520 size_t wk_size = QCOM_ICE_HWKM_WRAPPED_KEY_SIZE(ice->hwkm_version);
521
522 if (!qcom_scm_import_ice_key(imp_key, imp_key_size, lt_key, wk_size))
523 return wk_size;
524
525 return 0;
526 }
527 EXPORT_SYMBOL_GPL(qcom_ice_import_key);
528

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki