Re: [PATCH v2 1/3] dm-inlinecrypt: Add inline encryption support

kernel test robot
2024-09-17T05:05:53Z

Hi Md,

kernel test robot noticed the following build errors:

[auto build test ERROR on device-mapper-dm/for-next]
[also build test ERROR on axboe-block/for-next linus/master song-md/md-next v6.11 next-20240916]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Md-Sadre-Alam/dm-inlinecrypt-Add-inline-encryption-support/20240916-170452
base: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
patch link: https://lore.kernel.org/r/20240916085741.1636554-2-quic_mdalam%40quicinc.com
patch subject: [PATCH v2 1/3] dm-inlinecrypt: Add inline encryption support
config: openrisc-randconfig-r062-20240917 (https://download.01.org/0day-ci/archive/20240917/202409171209.aEtxsPez-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240917/202409171209.aEtxsPez-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/202409171209.aEtxsPez-lkp@intel.com/

All errors (new ones prefixed by >>):

drivers/md/dm-inline-crypt.c: In function 'crypt_prepare_inline_crypt_key':
>> drivers/md/dm-inline-crypt.c:81:15: error: implicit declaration of function 'blk_crypto_init_key' [-Wimplicit-function-declaration]
81 | ret = blk_crypto_init_key(cc->blk_key, cc->key, cc->crypto_mode,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/md/dm-inline-crypt.c:88:15: error: implicit declaration of function 'blk_crypto_start_using_key' [-Wimplicit-function-declaration]
88 | ret = blk_crypto_start_using_key(cc->dev->bdev, cc->blk_key);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/md/dm-inline-crypt.c: In function 'crypt_destroy_inline_crypt_key':
>> drivers/md/dm-inline-crypt.c:104:17: error: implicit declaration of function 'blk_crypto_evict_key'; did you mean 'blk_crypto_register'? [-Wimplicit-function-declaration]
104 | blk_crypto_evict_key(cc->dev->bdev, cc->blk_key);
| ^~~~~~~~~~~~~~~~~~~~
| blk_crypto_register
drivers/md/dm-inline-crypt.c: In function 'crypt_inline_encrypt_submit':
>> drivers/md/dm-inline-crypt.c:121:17: error: implicit declaration of function 'bio_crypt_set_ctx' [-Wimplicit-function-declaration]
121 | bio_crypt_set_ctx(bio, cc->blk_key, dun, GFP_KERNEL);
| ^~~~~~~~~~~~~~~~~

vim +/blk_crypto_init_key +81 drivers/md/dm-inline-crypt.c

72
73 static int crypt_prepare_inline_crypt_key(struct inlinecrypt_config *cc)
74 {
75 int ret;
76
77 cc->blk_key = kzalloc(sizeof(*cc->blk_key), GFP_KERNEL);
78 if (!cc->blk_key)
79 return -ENOMEM;
80
> 81 ret = blk_crypto_init_key(cc->blk_key, cc->key, cc->crypto_mode,
82 cc->iv_size, cc->sector_size);
83 if (ret) {
84 DMERR("Failed to init inline encryption key");
85 goto bad_key;
86 }
87
> 88 ret = blk_crypto_start_using_key(cc->dev->bdev, cc->blk_key);
89 if (ret) {
90 DMERR("Failed to use inline encryption key");
91 goto bad_key;
92 }
93
94 return 0;
95 bad_key:
96 kfree_sensitive(cc->blk_key);
97 cc->blk_key = NULL;
98 return ret;
99 }
100
101 static void crypt_destroy_inline_crypt_key(struct inlinecrypt_config *cc)
102 {
103 if (cc->blk_key) {
> 104 blk_crypto_evict_key(cc->dev->bdev, cc->blk_key);
105 kfree_sensitive(cc->blk_key);
106 cc->blk_key = NULL;
107 }
108 }
109
110 static void crypt_inline_encrypt_submit(struct dm_target *ti, struct bio *bio)
111 {
112 struct inlinecrypt_config *cc = ti->private;
113 u64 dun[BLK_CRYPTO_DUN_ARRAY_SIZE];
114
115 bio_set_dev(bio, cc->dev->bdev);
116 if (bio_sectors(bio)) {
117 memset(dun, 0, BLK_CRYPTO_MAX_IV_SIZE);
118 bio->bi_iter.bi_sector = cc->start +
119 dm_target_offset(ti, bio->bi_iter.bi_sector);
120 dun[0] = le64_to_cpu(bio->bi_iter.bi_sector + cc->iv_offset);
> 121 bio_crypt_set_ctx(bio, cc->blk_key, dun, GFP_KERNEL);
122 }
123
124 submit_bio_noacct(bio);
125 }
126

--
0-DAY CI Kernel Test Service