All of lore.kernel.org
 help / color / mirror / Atom feed
* [l1k:spdm-future-before-eventlog 24/34] crypto/ecdsa.c:168:40: error: 'keylen' undeclared; did you mean 'key_link'?
@ 2024-03-11 17:34 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-11 17:34 UTC (permalink / raw)
  To: Lukas Wunner; +Cc: oe-kbuild-all

Hi Stefan,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://github.com/l1k/linux spdm-future-before-eventlog
head:   fde830bd8ee973e5acff536fac518cf4bdb59714
commit: b1f6bc235c339a809e75744eddd2dbd4ef97dfe3 [24/34] crypto: ecdsa - Rename keylen to bufsize where necessary
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240312/202403120100.SWgIbpmv-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240312/202403120100.SWgIbpmv-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/202403120100.SWgIbpmv-lkp@intel.com/

Note: the l1k/spdm-future-before-eventlog HEAD fde830bd8ee973e5acff536fac518cf4bdb59714 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   crypto/ecdsa.c: In function 'ecdsa_verify':
>> crypto/ecdsa.c:168:40: error: 'keylen' undeclared (first use in this function); did you mean 'key_link'?
     168 |                    req->src_len == 2 * keylen) {
         |                                        ^~~~~~
         |                                        key_link
   crypto/ecdsa.c:168:40: note: each undeclared identifier is reported only once for each function it appears in


vim +168 crypto/ecdsa.c

4e6602916bc692 Stefan Berger 2021-03-16  133  
4e6602916bc692 Stefan Berger 2021-03-16  134  /*
4e6602916bc692 Stefan Berger 2021-03-16  135   * Verify an ECDSA signature.
4e6602916bc692 Stefan Berger 2021-03-16  136   */
4e6602916bc692 Stefan Berger 2021-03-16  137  static int ecdsa_verify(struct akcipher_request *req)
4e6602916bc692 Stefan Berger 2021-03-16  138  {
4e6602916bc692 Stefan Berger 2021-03-16  139  	struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
4e6602916bc692 Stefan Berger 2021-03-16  140  	struct ecc_ctx *ctx = akcipher_tfm_ctx(tfm);
b1f6bc235c339a Stefan Berger 2024-03-06  141  	size_t bufsize = ctx->curve->g.ndigits * sizeof(u64);
4e6602916bc692 Stefan Berger 2021-03-16  142  	struct ecdsa_signature_ctx sig_ctx = {
4e6602916bc692 Stefan Berger 2021-03-16  143  		.curve = ctx->curve,
4e6602916bc692 Stefan Berger 2021-03-16  144  	};
4e6602916bc692 Stefan Berger 2021-03-16  145  	u8 rawhash[ECC_MAX_BYTES];
4e6602916bc692 Stefan Berger 2021-03-16  146  	u64 hash[ECC_MAX_DIGITS];
4e6602916bc692 Stefan Berger 2021-03-16  147  	unsigned char *buffer;
4e6602916bc692 Stefan Berger 2021-03-16  148  	ssize_t diff;
4e6602916bc692 Stefan Berger 2021-03-16  149  	int ret;
4e6602916bc692 Stefan Berger 2021-03-16  150  
4e6602916bc692 Stefan Berger 2021-03-16  151  	if (unlikely(!ctx->pub_key_set))
4e6602916bc692 Stefan Berger 2021-03-16  152  		return -EINVAL;
4e6602916bc692 Stefan Berger 2021-03-16  153  
4e6602916bc692 Stefan Berger 2021-03-16  154  	buffer = kmalloc(req->src_len + req->dst_len, GFP_KERNEL);
4e6602916bc692 Stefan Berger 2021-03-16  155  	if (!buffer)
4e6602916bc692 Stefan Berger 2021-03-16  156  		return -ENOMEM;
4e6602916bc692 Stefan Berger 2021-03-16  157  
4e6602916bc692 Stefan Berger 2021-03-16  158  	sg_pcopy_to_buffer(req->src,
4e6602916bc692 Stefan Berger 2021-03-16  159  		sg_nents_for_len(req->src, req->src_len + req->dst_len),
4e6602916bc692 Stefan Berger 2021-03-16  160  		buffer, req->src_len + req->dst_len, 0);
4e6602916bc692 Stefan Berger 2021-03-16  161  
44fef4022d2ba0 Lukas Wunner  2023-07-02  162  	if (strcmp(req->enc, "x962") == 0) {
4e6602916bc692 Stefan Berger 2021-03-16  163  		ret = asn1_ber_decoder(&ecdsasignature_decoder, &sig_ctx,
4e6602916bc692 Stefan Berger 2021-03-16  164  				       buffer, req->src_len);
4e6602916bc692 Stefan Berger 2021-03-16  165  		if (ret < 0)
4e6602916bc692 Stefan Berger 2021-03-16  166  			goto error;
44fef4022d2ba0 Lukas Wunner  2023-07-02  167  	} else if (strcmp(req->enc, "p1363") == 0 &&
44fef4022d2ba0 Lukas Wunner  2023-07-02 @168  		   req->src_len == 2 * keylen) {
44fef4022d2ba0 Lukas Wunner  2023-07-02  169  		ecc_swap_digits(buffer, sig_ctx.r, ctx->curve->g.ndigits);
44fef4022d2ba0 Lukas Wunner  2023-07-02  170  		ecc_swap_digits(&buffer[keylen], sig_ctx.s,
44fef4022d2ba0 Lukas Wunner  2023-07-02  171  				ctx->curve->g.ndigits);
44fef4022d2ba0 Lukas Wunner  2023-07-02  172  	} else {
44fef4022d2ba0 Lukas Wunner  2023-07-02  173  		ret = -EINVAL;
44fef4022d2ba0 Lukas Wunner  2023-07-02  174  		goto error;
44fef4022d2ba0 Lukas Wunner  2023-07-02  175  	}
4e6602916bc692 Stefan Berger 2021-03-16  176  
4e6602916bc692 Stefan Berger 2021-03-16  177  	/* if the hash is shorter then we will add leading zeros to fit to ndigits */
b1f6bc235c339a Stefan Berger 2024-03-06  178  	diff = bufsize - req->dst_len;
4e6602916bc692 Stefan Berger 2021-03-16  179  	if (diff >= 0) {
4e6602916bc692 Stefan Berger 2021-03-16  180  		if (diff)
4e6602916bc692 Stefan Berger 2021-03-16  181  			memset(rawhash, 0, diff);
4e6602916bc692 Stefan Berger 2021-03-16  182  		memcpy(&rawhash[diff], buffer + req->src_len, req->dst_len);
4e6602916bc692 Stefan Berger 2021-03-16  183  	} else if (diff < 0) {
4e6602916bc692 Stefan Berger 2021-03-16  184  		/* given hash is longer, we take the left-most bytes */
b1f6bc235c339a Stefan Berger 2024-03-06  185  		memcpy(&rawhash, buffer + req->src_len, bufsize);
4e6602916bc692 Stefan Berger 2021-03-16  186  	}
4e6602916bc692 Stefan Berger 2021-03-16  187  
4e6602916bc692 Stefan Berger 2021-03-16  188  	ecc_swap_digits((u64 *)rawhash, hash, ctx->curve->g.ndigits);
4e6602916bc692 Stefan Berger 2021-03-16  189  
4e6602916bc692 Stefan Berger 2021-03-16  190  	ret = _ecdsa_verify(ctx, hash, sig_ctx.r, sig_ctx.s);
4e6602916bc692 Stefan Berger 2021-03-16  191  
4e6602916bc692 Stefan Berger 2021-03-16  192  error:
4e6602916bc692 Stefan Berger 2021-03-16  193  	kfree(buffer);
4e6602916bc692 Stefan Berger 2021-03-16  194  
4e6602916bc692 Stefan Berger 2021-03-16  195  	return ret;
4e6602916bc692 Stefan Berger 2021-03-16  196  }
4e6602916bc692 Stefan Berger 2021-03-16  197  

:::::: The code at line 168 was first introduced by commit
:::::: 44fef4022d2ba0bfb622127c51a6999ee9bcd0a7 crypto: ecdsa - Support P1363 signature encoding

:::::: TO: Lukas Wunner <lukas@wunner.de>
:::::: CC: Lukas Wunner <lukas@wunner.de>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-03-11 17:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-11 17:34 [l1k:spdm-future-before-eventlog 24/34] crypto/ecdsa.c:168:40: error: 'keylen' undeclared; did you mean 'key_link'? kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.