* [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.