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.gong...@huawei.com>
:::::: CC: Herbert Xu <herb...@gondor.apana.org.au>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to