All of lore.kernel.org
 help / color / mirror / Atom feed
* [meghadey-crypto:gcm_vaes 3/3] arch/x86/crypto/aesni-intel_glue.c:813:32: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'u32 {aka unsigned int}'
@ 2020-05-16  0:11 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-16  0:11 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6612 bytes --]

tree:   https://github.com/meghadey/crypto gcm_vaes
head:   170448f9b4611af0d2d219a0888173f0ab9b290b
commit: 170448f9b4611af0d2d219a0888173f0ab9b290b [3/3] working
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-193-gb8fad4bc-dirty
        git checkout 170448f9b4611af0d2d219a0888173f0ab9b290b
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

arch/x86/crypto/aesni-intel_glue.c: In function 'gcmaes_crypt_by_sg':
>> arch/x86/crypto/aesni-intel_glue.c:813:32: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'u32 {aka unsigned int}' [-Wformat=]
printk("Megha KeyLength %lx left %lxn", ctx->key_length, left);
~~^              ~~~~~~~~~~~~~~~
%x

vim +813 arch/x86/crypto/aesni-intel_glue.c

   718	
   719	static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,
   720				      unsigned int assoclen, u8 *hash_subkey,
   721				      u8 *iv, void *aes_ctx)
   722	{
   723		struct crypto_aead *tfm = crypto_aead_reqtfm(req);
   724		unsigned long auth_tag_len = crypto_aead_authsize(tfm);
   725		const struct aesni_gcm_tfm_s *gcm_tfm = aesni_gcm_tfm;
   726		struct gcm_context_data data AESNI_ALIGN_ATTR;
   727		struct scatter_walk dst_sg_walk = {};
   728		unsigned long left = req->cryptlen;
   729		unsigned long len, srclen, dstlen;
   730		struct scatter_walk assoc_sg_walk;
   731		struct scatter_walk src_sg_walk;
   732		struct scatterlist src_start[2];
   733		struct scatterlist dst_start[2];
   734		struct scatterlist *src_sg;
   735		struct scatterlist *dst_sg;
   736		u8 *src, *dst, *assoc;
   737		u8 *assocmem = NULL;
   738		u8 authTag[16];
   739		int i;
   740		struct crypto_aes_ctx *ctx;
   741	
   742		if (!enc)
   743			left -= auth_tag_len;
   744	
   745		if (left < AVX_GEN4_OPTSIZE && gcm_tfm == &aesni_gcm_tfm_avx_gen4)
   746			gcm_tfm = &aesni_gcm_tfm_avx_gen2;
   747		if (left < AVX_GEN2_OPTSIZE && gcm_tfm == &aesni_gcm_tfm_avx_gen2)
   748			gcm_tfm = &aesni_gcm_tfm_sse;
   749	
   750		/* Linearize assoc, if not already linear */
   751		if (req->src->length >= assoclen && req->src->length &&
   752			(!PageHighMem(sg_page(req->src)) ||
   753				req->src->offset + req->src->length <= PAGE_SIZE)) {
   754			scatterwalk_start(&assoc_sg_walk, req->src);
   755			assoc = scatterwalk_map(&assoc_sg_walk);
   756		} else {
   757			/* assoc can be any length, so must be on heap */
   758			assocmem = kmalloc(assoclen, GFP_ATOMIC);
   759			if (unlikely(!assocmem))
   760				return -ENOMEM;
   761			assoc = assocmem;
   762	
   763			scatterwalk_map_and_copy(assoc, req->src, 0, assoclen, 0);
   764		}
   765	
   766		if (left) {
   767			src_sg = scatterwalk_ffwd(src_start, req->src, req->assoclen);
   768			scatterwalk_start(&src_sg_walk, src_sg);
   769			if (req->src != req->dst) {
   770				dst_sg = scatterwalk_ffwd(dst_start, req->dst,
   771							  req->assoclen);
   772				scatterwalk_start(&dst_sg_walk, dst_sg);
   773			}
   774		}
   775	
   776		kernel_fpu_begin();
   777		ctx = (struct crypto_aes_ctx*) aes_ctx;
   778		memcpy(data.hash_keys , hash_subkey, 16*48);
   779		gcm_tfm->init(aes_ctx, &data, iv,
   780			hash_subkey, assoc, assoclen);
   781		if (req->src != req->dst) {
   782			while (left) {
   783				src = scatterwalk_map(&src_sg_walk);
   784				dst = scatterwalk_map(&dst_sg_walk);
   785				srclen = scatterwalk_clamp(&src_sg_walk, left);
   786				dstlen = scatterwalk_clamp(&dst_sg_walk, left);
   787				len = min(srclen, dstlen);
   788				if (len) {
   789					if (enc) {
   790						gcm_tfm->enc_update(aes_ctx, &data,
   791								     dst, src, len);
   792					} else
   793						gcm_tfm->dec_update(aes_ctx, &data,
   794								     dst, src, len);
   795				}
   796				left -= len;
   797	
   798				scatterwalk_unmap(src);
   799				scatterwalk_unmap(dst);
   800				scatterwalk_advance(&src_sg_walk, len);
   801				scatterwalk_advance(&dst_sg_walk, len);
   802				scatterwalk_done(&src_sg_walk, 0, left);
   803				scatterwalk_done(&dst_sg_walk, 1, left);
   804			}
   805		} else {
   806			while (left) {
   807				dst = src = scatterwalk_map(&src_sg_walk);
   808				len = scatterwalk_clamp(&src_sg_walk, left);
   809				if (len) {
   810					if (enc) {
   811						gcm_tfm->enc_update(aes_ctx, &data,
   812								     src, src, len);
 > 813						printk("Megha KeyLength %lx left %lx\n", ctx->key_length, left);
   814						printk("Megha cipher:\n");
   815						for(i=0;i<8;i++)
   816						 printk("%lx ", *(unsigned long*)(src + (i*8)));
   817						printk("\n");
   818					} else {
   819						gcm_tfm->dec_update(aes_ctx, &data,
   820								     src, src, len);
   821						printk("Megha plaintext:\n");
   822	                                        for(i=0;i<8;i++)
   823	                                         printk("%lx ", *(unsigned long*)(src + (i*8)));
   824						printk("\n");
   825					}
   826				}
   827				left -= len;
   828				scatterwalk_unmap(src);
   829				scatterwalk_advance(&src_sg_walk, len);
   830				scatterwalk_done(&src_sg_walk, 1, left);
   831			}
   832		}
   833		gcm_tfm->finalize(aes_ctx, &data, authTag, auth_tag_len);
   834		printk("Megha tag:\n");
   835	        for(i=0;i<2;i++)
   836	               printk("%lx ", *(unsigned long*)(authTag + (i*8)));
   837		printk("\n");
   838		kernel_fpu_end();
   839	
   840		if (!assocmem)
   841			scatterwalk_unmap(assoc);
   842		else
   843			kfree(assocmem);
   844	
   845		if (!enc) {
   846			u8 authTagMsg[16];
   847	
   848			/* Copy out original authTag */
   849			scatterwalk_map_and_copy(authTagMsg, req->src,
   850						 req->assoclen + req->cryptlen -
   851						 auth_tag_len,
   852						 auth_tag_len, 0);
   853	
   854			/* Compare generated tag with passed in tag. */
   855			return crypto_memneq(authTagMsg, authTag, auth_tag_len) ?
   856				-EBADMSG : 0;
   857		}
   858	
   859		/* Copy in the authTag */
   860		scatterwalk_map_and_copy(authTag, req->dst,
   861					 req->assoclen + req->cryptlen,
   862					 auth_tag_len, 1);
   863	
   864		return 0;
   865	}
   866	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35708 bytes --]

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

only message in thread, other threads:[~2020-05-16  0:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-16  0:11 [meghadey-crypto:gcm_vaes 3/3] arch/x86/crypto/aesni-intel_glue.c:813:32: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'u32 {aka unsigned int}' kbuild 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.