[cryptodev:master 22/38] drivers/crypto/virtio/virtio_crypto_algs.c:494:9: error: implicit declaration of function 'crypto_transfer_cipher_request_to_engine'; did you mean 'crypto_transfer_skcipher_request_to_engine'?

[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:   a43a34845a156c9e1dae00e33595a508d53e0365
commit: 218d1cc1860c45b77f6814b44f6f0ffb9e40a82f [22/38] crypto: engine - Permit to enqueue all async requests
config: x86_64-rhel (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 218d1cc1860c45b77f6814b44f6f0ffb9e40a82f
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the cryptodev/master HEAD a43a34845a156c9e1dae00e33595a508d53e0365 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   drivers/crypto/virtio/virtio_crypto_algs.c: In function 'virtio_crypto_ablkcipher_encrypt':
>> drivers/crypto/virtio/virtio_crypto_algs.c:494:9: error: implicit declaration of function 'crypto_transfer_cipher_request_to_engine'; did you mean 'crypto_transfer_skcipher_request_to_engine'? [-Werror=implicit-function-declaration]
     return crypto_transfer_cipher_request_to_engine(data_vq->engine, req);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            crypto_transfer_skcipher_request_to_engine
   drivers/crypto/virtio/virtio_crypto_algs.c: In function 'virtio_crypto_ablkcipher_finalize_req':
>> drivers/crypto/virtio/virtio_crypto_algs.c:564:2: error: implicit declaration of function 'crypto_finalize_cipher_request'; did you mean 'crypto_finalize_skcipher_request'? [-Werror=implicit-function-declaration]
     crypto_finalize_cipher_request(vc_sym_req->base.dataq->engine,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     crypto_finalize_skcipher_request
   cc1: some warnings being treated as errors
--
   drivers/crypto/virtio/virtio_crypto_core.c: In function 'virtcrypto_find_vqs':
>> drivers/crypto/virtio/virtio_crypto_core.c:115:24: error: 'struct crypto_engine' has no member named 'cipher_one_request'
      vi->data_vq[i].engine->cipher_one_request =
                           ^~

vim +494 drivers/crypto/virtio/virtio_crypto_algs.c

dbaf0624 Gonglei          2016-12-15  476  
dbaf0624 Gonglei          2016-12-15  477  static int virtio_crypto_ablkcipher_encrypt(struct ablkcipher_request *req)
dbaf0624 Gonglei          2016-12-15  478  {
dbaf0624 Gonglei          2016-12-15  479  	struct crypto_ablkcipher *atfm = crypto_ablkcipher_reqtfm(req);
dbaf0624 Gonglei          2016-12-15  480  	struct virtio_crypto_ablkcipher_ctx *ctx = crypto_ablkcipher_ctx(atfm);
d31e7123 Zeng, Xin        2017-06-23  481  	struct virtio_crypto_sym_request *vc_sym_req =
d31e7123 Zeng, Xin        2017-06-23  482  				ablkcipher_request_ctx(req);
d31e7123 Zeng, Xin        2017-06-23  483  	struct virtio_crypto_request *vc_req = &vc_sym_req->base;
dbaf0624 Gonglei          2016-12-15  484  	struct virtio_crypto *vcrypto = ctx->vcrypto;
dbaf0624 Gonglei          2016-12-15  485  	/* Use the first data virtqueue as default */
dbaf0624 Gonglei          2016-12-15  486  	struct data_queue *data_vq = &vcrypto->data_vq[0];
dbaf0624 Gonglei          2016-12-15  487  
d79b5d0b Gonglei \(Arei\  2016-12-27  488) 	vc_req->dataq = data_vq;
d31e7123 Zeng, Xin        2017-06-23  489  	vc_req->alg_cb = virtio_crypto_dataq_sym_callback;
d31e7123 Zeng, Xin        2017-06-23  490  	vc_sym_req->ablkcipher_ctx = ctx;
d31e7123 Zeng, Xin        2017-06-23  491  	vc_sym_req->ablkcipher_req = req;
d31e7123 Zeng, Xin        2017-06-23  492  	vc_sym_req->encrypt = true;
dbaf0624 Gonglei          2016-12-15  493  
d79b5d0b Gonglei \(Arei\  2016-12-27 @494) 	return crypto_transfer_cipher_request_to_engine(data_vq->engine, req);
dbaf0624 Gonglei          2016-12-15  495  }
dbaf0624 Gonglei          2016-12-15  496  
dbaf0624 Gonglei          2016-12-15  497  static int virtio_crypto_ablkcipher_decrypt(struct ablkcipher_request *req)
dbaf0624 Gonglei          2016-12-15  498  {
dbaf0624 Gonglei          2016-12-15  499  	struct crypto_ablkcipher *atfm = crypto_ablkcipher_reqtfm(req);
dbaf0624 Gonglei          2016-12-15  500  	struct virtio_crypto_ablkcipher_ctx *ctx = crypto_ablkcipher_ctx(atfm);
d31e7123 Zeng, Xin        2017-06-23  501  	struct virtio_crypto_sym_request *vc_sym_req =
d31e7123 Zeng, Xin        2017-06-23  502  				ablkcipher_request_ctx(req);
d31e7123 Zeng, Xin        2017-06-23  503  	struct virtio_crypto_request *vc_req = &vc_sym_req->base;
dbaf0624 Gonglei          2016-12-15  504  	struct virtio_crypto *vcrypto = ctx->vcrypto;
dbaf0624 Gonglei          2016-12-15  505  	/* Use the first data virtqueue as default */
dbaf0624 Gonglei          2016-12-15  506  	struct data_queue *data_vq = &vcrypto->data_vq[0];
dbaf0624 Gonglei          2016-12-15  507  
d79b5d0b Gonglei \(Arei\  2016-12-27  508) 	vc_req->dataq = data_vq;
d31e7123 Zeng, Xin        2017-06-23  509  	vc_req->alg_cb = virtio_crypto_dataq_sym_callback;
d31e7123 Zeng, Xin        2017-06-23  510  	vc_sym_req->ablkcipher_ctx = ctx;
d31e7123 Zeng, Xin        2017-06-23  511  	vc_sym_req->ablkcipher_req = req;
d31e7123 Zeng, Xin        2017-06-23  512  	vc_sym_req->encrypt = false;
dbaf0624 Gonglei          2016-12-15  513  
d79b5d0b Gonglei \(Arei\  2016-12-27  514) 	return crypto_transfer_cipher_request_to_engine(data_vq->engine, req);
dbaf0624 Gonglei          2016-12-15  515  }
dbaf0624 Gonglei          2016-12-15  516  
dbaf0624 Gonglei          2016-12-15  517  static int virtio_crypto_ablkcipher_init(struct crypto_tfm *tfm)
dbaf0624 Gonglei          2016-12-15  518  {
dbaf0624 Gonglei          2016-12-15  519  	struct virtio_crypto_ablkcipher_ctx *ctx = crypto_tfm_ctx(tfm);
dbaf0624 Gonglei          2016-12-15  520  
d31e7123 Zeng, Xin        2017-06-23  521  	tfm->crt_ablkcipher.reqsize = sizeof(struct virtio_crypto_sym_request);
dbaf0624 Gonglei          2016-12-15  522  	ctx->tfm = tfm;
dbaf0624 Gonglei          2016-12-15  523  
dbaf0624 Gonglei          2016-12-15  524  	return 0;
dbaf0624 Gonglei          2016-12-15  525  }
dbaf0624 Gonglei          2016-12-15  526  
dbaf0624 Gonglei          2016-12-15  527  static void virtio_crypto_ablkcipher_exit(struct crypto_tfm *tfm)
dbaf0624 Gonglei          2016-12-15  528  {
dbaf0624 Gonglei          2016-12-15  529  	struct virtio_crypto_ablkcipher_ctx *ctx = crypto_tfm_ctx(tfm);
dbaf0624 Gonglei          2016-12-15  530  
dbaf0624 Gonglei          2016-12-15  531  	if (!ctx->vcrypto)
dbaf0624 Gonglei          2016-12-15  532  		return;
dbaf0624 Gonglei          2016-12-15  533  
dbaf0624 Gonglei          2016-12-15  534  	virtio_crypto_alg_ablkcipher_close_session(ctx, 1);
dbaf0624 Gonglei          2016-12-15  535  	virtio_crypto_alg_ablkcipher_close_session(ctx, 0);
dbaf0624 Gonglei          2016-12-15  536  	virtcrypto_dev_put(ctx->vcrypto);
dbaf0624 Gonglei          2016-12-15  537  	ctx->vcrypto = NULL;
dbaf0624 Gonglei          2016-12-15  538  }
dbaf0624 Gonglei          2016-12-15  539  
d79b5d0b Gonglei \(Arei\  2016-12-27  540) int virtio_crypto_ablkcipher_crypt_req(
d79b5d0b Gonglei \(Arei\  2016-12-27  541) 	struct crypto_engine *engine,
d79b5d0b Gonglei \(Arei\  2016-12-27  542) 	struct ablkcipher_request *req)
d79b5d0b Gonglei \(Arei\  2016-12-27  543) {
d31e7123 Zeng, Xin        2017-06-23  544  	struct virtio_crypto_sym_request *vc_sym_req =
d31e7123 Zeng, Xin        2017-06-23  545  				ablkcipher_request_ctx(req);
d31e7123 Zeng, Xin        2017-06-23  546  	struct virtio_crypto_request *vc_req = &vc_sym_req->base;
d79b5d0b Gonglei \(Arei\  2016-12-27  547) 	struct data_queue *data_vq = vc_req->dataq;
d79b5d0b Gonglei \(Arei\  2016-12-27  548) 	int ret;
d79b5d0b Gonglei \(Arei\  2016-12-27  549) 
d31e7123 Zeng, Xin        2017-06-23  550  	ret = __virtio_crypto_ablkcipher_do_req(vc_sym_req, req, data_vq);
d79b5d0b Gonglei \(Arei\  2016-12-27  551) 	if (ret < 0)
d79b5d0b Gonglei \(Arei\  2016-12-27  552) 		return ret;
d79b5d0b Gonglei \(Arei\  2016-12-27  553) 
d79b5d0b Gonglei \(Arei\  2016-12-27  554) 	virtqueue_kick(data_vq->vq);
d79b5d0b Gonglei \(Arei\  2016-12-27  555) 
d79b5d0b Gonglei \(Arei\  2016-12-27  556) 	return 0;
d79b5d0b Gonglei \(Arei\  2016-12-27  557) }
d79b5d0b Gonglei \(Arei\  2016-12-27  558) 
d31e7123 Zeng, Xin        2017-06-23  559  static void virtio_crypto_ablkcipher_finalize_req(
d31e7123 Zeng, Xin        2017-06-23  560  	struct virtio_crypto_sym_request *vc_sym_req,
d79b5d0b Gonglei \(Arei\  2016-12-27  561) 	struct ablkcipher_request *req,
d79b5d0b Gonglei \(Arei\  2016-12-27  562) 	int err)
d79b5d0b Gonglei \(Arei\  2016-12-27  563) {
d31e7123 Zeng, Xin        2017-06-23 @564  	crypto_finalize_cipher_request(vc_sym_req->base.dataq->engine,
d31e7123 Zeng, Xin        2017-06-23  565  					req, err);
d31e7123 Zeng, Xin        2017-06-23  566  	kzfree(vc_sym_req->iv);
d31e7123 Zeng, Xin        2017-06-23  567  	virtcrypto_clear_request(&vc_sym_req->base);
d79b5d0b Gonglei \(Arei\  2016-12-27  568) }
d79b5d0b Gonglei \(Arei\  2016-12-27  569) 

:::::: The code at line 494 was first introduced by commit
:::::: d79b5d0bbf2e3aded13b0542160bde48e95d3d44 crypto: virtio - support crypto engine framework

:::::: TO: Gonglei \(Arei\) <arei.gonglei@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