Re: [PATCH 01/14] crypto: ecdsa - Convert byte arrays with key coordinates to digits

From: kernel test robot
Date: Fri Feb 09 2024 - 14:37:04 EST


Hi Stefan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on herbert-cryptodev-2.6/master]
[also build test WARNING on herbert-crypto-2.6/master linus/master v6.8-rc3 next-20240209]
[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/Stefan-Berger/crypto-ecdsa-Convert-byte-arrays-with-key-coordinates-to-digits/20240209-062415
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
patch link: https://lore.kernel.org/r/20240208221840.3665874-2-stefanb%40linux.ibm.com
patch subject: [PATCH 01/14] crypto: ecdsa - Convert byte arrays with key coordinates to digits
config: x86_64-randconfig-101-20240209 (https://download.01.org/0day-ci/archive/20240210/202402100352.1TagPxg9-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240210/202402100352.1TagPxg9-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/202402100352.1TagPxg9-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> crypto/ecdsa.c:225:34: warning: variable 'nbytes' set but not used [-Wunused-but-set-variable]
225 | unsigned int digitlen, ndigits, nbytes;
| ^
1 warning generated.


vim +/nbytes +225 crypto/ecdsa.c

216
217 /*
218 * Set the public key given the raw uncompressed key data from an X509
219 * certificate. The key data contain the concatenated X and Y coordinates of
220 * the public key.
221 */
222 static int ecdsa_set_pub_key(struct crypto_akcipher *tfm, const void *key, unsigned int keylen)
223 {
224 struct ecc_ctx *ctx = akcipher_tfm_ctx(tfm);
> 225 unsigned int digitlen, ndigits, nbytes;
226 const unsigned char *d = key;
227 int ret;
228
229 ret = ecdsa_ecc_ctx_reset(ctx);
230 if (ret < 0)
231 return ret;
232
233 if (keylen < 1 || (((keylen - 1) >> 1) % sizeof(u64)) != 0)
234 return -EINVAL;
235 /* we only accept uncompressed format indicated by '4' */
236 if (d[0] != 4)
237 return -EINVAL;
238
239 keylen--;
240 digitlen = keylen >> 1;
241
242 ndigits = digitlen / sizeof(u64);
243 if (ndigits != ctx->curve->g.ndigits)
244 return -EINVAL;
245
246 nbytes = ndigits * sizeof(u64);
247 d++;
248
249 ecc_digits_from_array(d, digitlen, ctx->pub_key.x, ndigits);
250 ecc_digits_from_array(&d[digitlen], digitlen, ctx->pub_key.y, ndigits);
251
252 ret = ecc_is_pubkey_valid_full(ctx->curve, &ctx->pub_key);
253
254 ctx->pub_key_set = ret == 0;
255
256 return ret;
257 }
258

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