[cryptodev:master 4/17] arch/arm64/crypto/chacha20-neon-glue.c:66:32: error: passing argument 1 of 'crypto_chacha20_crypt' from incompatible pointer type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
head:   fb91a661d99f460f2ea4c7f23ed47f56863ca1d1
commit: 9ae433bc79f97bae221d53bb1a8e21415ea58625 [4/17] crypto: chacha20 - convert generic and x86 versions to skcipher
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 9ae433bc79f97bae221d53bb1a8e21415ea58625
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   arch/arm64/crypto/chacha20-neon-glue.c: In function 'chacha20_simd':
>> arch/arm64/crypto/chacha20-neon-glue.c:66:32: error: passing argument 1 of 'crypto_chacha20_crypt' from incompatible pointer type [-Werror=incompatible-pointer-types]
      return crypto_chacha20_crypt(desc, dst, src, nbytes);
                                   ^~~~
   In file included from arch/arm64/crypto/chacha20-neon-glue.c:22:0:
   include/crypto/chacha20.h:24:5: note: expected 'struct skcipher_request *' but argument is of type 'struct blkcipher_desc *'
    int crypto_chacha20_crypt(struct skcipher_request *req);
        ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/crypto/chacha20-neon-glue.c:66:10: error: too many arguments to function 'crypto_chacha20_crypt'
      return crypto_chacha20_crypt(desc, dst, src, nbytes);
             ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/arm64/crypto/chacha20-neon-glue.c:22:0:
   include/crypto/chacha20.h:24:5: note: declared here
    int crypto_chacha20_crypt(struct skcipher_request *req);
        ^~~~~~~~~~~~~~~~~~~~~
   arch/arm64/crypto/chacha20-neon-glue.c: At top level:
>> arch/arm64/crypto/chacha20-neon-glue.c:109:15: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
       .setkey  = crypto_chacha20_setkey,
                  ^~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/crypto/chacha20-neon-glue.c:109:15: note: (near initialization for 'alg.cra_u.blkcipher.setkey')
   cc1: some warnings being treated as errors

vim +/crypto_chacha20_crypt +66 arch/arm64/crypto/chacha20-neon-glue.c

8621caa0 Ard Biesheuvel 2016-12-08   60  {
8621caa0 Ard Biesheuvel 2016-12-08   61  	struct blkcipher_walk walk;
8621caa0 Ard Biesheuvel 2016-12-08   62  	u32 state[16];
8621caa0 Ard Biesheuvel 2016-12-08   63  	int err;
8621caa0 Ard Biesheuvel 2016-12-08   64  
8621caa0 Ard Biesheuvel 2016-12-08   65  	if (nbytes <= CHACHA20_BLOCK_SIZE)
8621caa0 Ard Biesheuvel 2016-12-08  @66  		return crypto_chacha20_crypt(desc, dst, src, nbytes);
8621caa0 Ard Biesheuvel 2016-12-08   67  
8621caa0 Ard Biesheuvel 2016-12-08   68  	blkcipher_walk_init(&walk, dst, src, nbytes);
8621caa0 Ard Biesheuvel 2016-12-08   69  	err = blkcipher_walk_virt_block(desc, &walk, CHACHA20_BLOCK_SIZE);
8621caa0 Ard Biesheuvel 2016-12-08   70  
8621caa0 Ard Biesheuvel 2016-12-08   71  	crypto_chacha20_init(state, crypto_blkcipher_ctx(desc->tfm), walk.iv);
8621caa0 Ard Biesheuvel 2016-12-08   72  
8621caa0 Ard Biesheuvel 2016-12-08   73  	kernel_neon_begin();
8621caa0 Ard Biesheuvel 2016-12-08   74  
8621caa0 Ard Biesheuvel 2016-12-08   75  	while (walk.nbytes >= CHACHA20_BLOCK_SIZE) {
8621caa0 Ard Biesheuvel 2016-12-08   76  		chacha20_dosimd(state, walk.dst.virt.addr, walk.src.virt.addr,
8621caa0 Ard Biesheuvel 2016-12-08   77  				rounddown(walk.nbytes, CHACHA20_BLOCK_SIZE));
8621caa0 Ard Biesheuvel 2016-12-08   78  		err = blkcipher_walk_done(desc, &walk,
8621caa0 Ard Biesheuvel 2016-12-08   79  					  walk.nbytes % CHACHA20_BLOCK_SIZE);
8621caa0 Ard Biesheuvel 2016-12-08   80  	}
8621caa0 Ard Biesheuvel 2016-12-08   81  
8621caa0 Ard Biesheuvel 2016-12-08   82  	if (walk.nbytes) {
8621caa0 Ard Biesheuvel 2016-12-08   83  		chacha20_dosimd(state, walk.dst.virt.addr, walk.src.virt.addr,
8621caa0 Ard Biesheuvel 2016-12-08   84  				walk.nbytes);
8621caa0 Ard Biesheuvel 2016-12-08   85  		err = blkcipher_walk_done(desc, &walk, 0);
8621caa0 Ard Biesheuvel 2016-12-08   86  	}
8621caa0 Ard Biesheuvel 2016-12-08   87  
8621caa0 Ard Biesheuvel 2016-12-08   88  	kernel_neon_end();
8621caa0 Ard Biesheuvel 2016-12-08   89  
8621caa0 Ard Biesheuvel 2016-12-08   90  	return err;
8621caa0 Ard Biesheuvel 2016-12-08   91  }
8621caa0 Ard Biesheuvel 2016-12-08   92  
8621caa0 Ard Biesheuvel 2016-12-08   93  static struct crypto_alg alg = {
8621caa0 Ard Biesheuvel 2016-12-08   94  	.cra_name		= "chacha20",
8621caa0 Ard Biesheuvel 2016-12-08   95  	.cra_driver_name	= "chacha20-neon",
8621caa0 Ard Biesheuvel 2016-12-08   96  	.cra_priority		= 300,
8621caa0 Ard Biesheuvel 2016-12-08   97  	.cra_flags		= CRYPTO_ALG_TYPE_BLKCIPHER,
8621caa0 Ard Biesheuvel 2016-12-08   98  	.cra_blocksize		= 1,
8621caa0 Ard Biesheuvel 2016-12-08   99  	.cra_type		= &crypto_blkcipher_type,
8621caa0 Ard Biesheuvel 2016-12-08  100  	.cra_ctxsize		= sizeof(struct chacha20_ctx),
8621caa0 Ard Biesheuvel 2016-12-08  101  	.cra_alignmask		= sizeof(u32) - 1,
8621caa0 Ard Biesheuvel 2016-12-08  102  	.cra_module		= THIS_MODULE,
8621caa0 Ard Biesheuvel 2016-12-08  103  	.cra_u			= {
8621caa0 Ard Biesheuvel 2016-12-08  104  		.blkcipher = {
8621caa0 Ard Biesheuvel 2016-12-08  105  			.min_keysize	= CHACHA20_KEY_SIZE,
8621caa0 Ard Biesheuvel 2016-12-08  106  			.max_keysize	= CHACHA20_KEY_SIZE,
8621caa0 Ard Biesheuvel 2016-12-08  107  			.ivsize		= CHACHA20_IV_SIZE,
8621caa0 Ard Biesheuvel 2016-12-08  108  			.geniv		= "seqiv",
8621caa0 Ard Biesheuvel 2016-12-08 @109  			.setkey		= crypto_chacha20_setkey,
8621caa0 Ard Biesheuvel 2016-12-08  110  			.encrypt	= chacha20_simd,
8621caa0 Ard Biesheuvel 2016-12-08  111  			.decrypt	= chacha20_simd,
8621caa0 Ard Biesheuvel 2016-12-08  112  		},

:::::: The code at line 66 was first introduced by commit
:::::: 8621caa0d45e731f2e9f5889ff5bb384fcd6e059 crypto: arm64/chacha20 - implement NEON version based on SSE3 code

:::::: TO: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
:::::: CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux