lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202107250259.WXezBhQW-lkp@intel.com>
Date:   Sun, 25 Jul 2021 02:14:03 +0800
From:   kernel test robot <lkp@...el.com>
To:     Christoph Hellwig <hch@....de>
Cc:     clang-built-linux@...glegroups.com, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org
Subject: [hch-block:blkdev.h-includes 14/16]
 block/blk-crypto-internal.h:34:49: error: implicit declaration of function
 'blk_rq_bytes'

tree:   git://git.infradead.org/users/hch/block.git blkdev.h-includes
head:   48f7fda047613ceec07881f14a5eaf1ee19d4433
commit: b9615241041911b7ce9a57f1a2d24a66e5c2b091 [14/16] block: move struct request to blk-mq.h
config: riscv-randconfig-r012-20210724 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 3f2c1e99e44d028d5e9dd685f3c568f2661f2f68)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        git remote add hch-block git://git.infradead.org/users/hch/block.git
        git fetch --no-tags hch-block blkdev.h-includes
        git checkout b9615241041911b7ce9a57f1a2d24a66e5c2b091
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 

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

All errors (new ones prefixed by >>):

   In file included from block/blk-crypto-fallback.c:22:
>> block/blk-crypto-internal.h:34:36: error: incomplete definition of type 'struct request'
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                          ~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
>> block/blk-crypto-internal.h:34:49: error: implicit declaration of function 'blk_rq_bytes' [-Werror,-Wimplicit-function-declaration]
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                                          ^
   block/blk-crypto-internal.h:42:37: error: incomplete definition of type 'struct request'
                                          bio->bi_iter.bi_size, req->crypt_ctx);
                                                                ~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:48:36: error: incomplete definition of type 'struct request'
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                          ~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:48:49: error: implicit declaration of function 'blk_rq_bytes' [-Werror,-Wimplicit-function-declaration]
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                                          ^
   block/blk-crypto-internal.h:49:16: error: incomplete definition of type 'struct request'
                                          next->crypt_ctx);
                                          ~~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:54:4: error: incomplete definition of type 'struct request'
           rq->crypt_ctx = NULL;
           ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:55:4: error: incomplete definition of type 'struct request'
           rq->crypt_keyslot = NULL;
           ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:60:11: error: incomplete definition of type 'struct request'
           return rq->crypt_ctx;
                  ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:117:12: error: incomplete definition of type 'struct request'
                   memcpy(rq->crypt_ctx->bc_dun, bio->bi_crypt_context->bc_dun,
                          ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto-fallback.c:22:
   block/blk-crypto-internal.h:118:19: error: incomplete definition of type 'struct request'
                          sizeof(rq->crypt_ctx->bc_dun));
                                 ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   11 errors generated.
--
   In file included from block/blk-crypto.c:18:
>> block/blk-crypto-internal.h:34:36: error: incomplete definition of type 'struct request'
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                          ~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
>> block/blk-crypto-internal.h:34:49: error: implicit declaration of function 'blk_rq_bytes' [-Werror,-Wimplicit-function-declaration]
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                                          ^
   block/blk-crypto-internal.h:42:37: error: incomplete definition of type 'struct request'
                                          bio->bi_iter.bi_size, req->crypt_ctx);
                                                                ~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:48:36: error: incomplete definition of type 'struct request'
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                          ~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:48:49: error: implicit declaration of function 'blk_rq_bytes' [-Werror,-Wimplicit-function-declaration]
           return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
                                                          ^
   block/blk-crypto-internal.h:49:16: error: incomplete definition of type 'struct request'
                                          next->crypt_ctx);
                                          ~~~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:54:4: error: incomplete definition of type 'struct request'
           rq->crypt_ctx = NULL;
           ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:55:4: error: incomplete definition of type 'struct request'
           rq->crypt_keyslot = NULL;
           ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:60:11: error: incomplete definition of type 'struct request'
           return rq->crypt_ctx;
                  ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:117:12: error: incomplete definition of type 'struct request'
                   memcpy(rq->crypt_ctx->bc_dun, bio->bi_crypt_context->bc_dun,
                          ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   In file included from block/blk-crypto.c:18:
   block/blk-crypto-internal.h:118:19: error: incomplete definition of type 'struct request'
                          sizeof(rq->crypt_ctx->bc_dun));
                                 ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
>> block/blk-crypto.c:186:36: error: incomplete definition of type 'struct request'
           return bio_crypt_ctx_compatible(rq->crypt_ctx, bio->bi_crypt_context);
                                           ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:221:36: error: incomplete definition of type 'struct request'
           return blk_ksm_get_slot_for_key(rq->q->ksm, rq->crypt_ctx->bc_key,
                                           ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:221:48: error: incomplete definition of type 'struct request'
           return blk_ksm_get_slot_for_key(rq->q->ksm, rq->crypt_ctx->bc_key,
                                                       ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:222:9: error: incomplete definition of type 'struct request'
                                           &rq->crypt_keyslot);
                                            ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:236:21: error: incomplete definition of type 'struct request'
           blk_ksm_put_slot(rq->crypt_keyslot);
                            ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:237:17: error: incomplete definition of type 'struct request'
           mempool_free(rq->crypt_ctx, bio_crypt_ctx_pool);
                        ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:297:9: error: incomplete definition of type 'struct request'
           if (!rq->crypt_ctx) {
                ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   block/blk-crypto.c:298:5: error: incomplete definition of type 'struct request'
                   rq->crypt_ctx = mempool_alloc(bio_crypt_ctx_pool, gfp_mask);
                   ~~^
   include/linux/bsg.h:7:8: note: forward declaration of 'struct request'
   struct request;
          ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.


vim +/blk_rq_bytes +34 block/blk-crypto-internal.h

a892c8d52c0228 Satya Tangirala 2020-05-14  27  
a892c8d52c0228 Satya Tangirala 2020-05-14  28  bool bio_crypt_ctx_mergeable(struct bio_crypt_ctx *bc1, unsigned int bc1_bytes,
a892c8d52c0228 Satya Tangirala 2020-05-14  29  			     struct bio_crypt_ctx *bc2);
a892c8d52c0228 Satya Tangirala 2020-05-14  30  
a892c8d52c0228 Satya Tangirala 2020-05-14  31  static inline bool bio_crypt_ctx_back_mergeable(struct request *req,
a892c8d52c0228 Satya Tangirala 2020-05-14  32  						struct bio *bio)
a892c8d52c0228 Satya Tangirala 2020-05-14  33  {
a892c8d52c0228 Satya Tangirala 2020-05-14 @34  	return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
a892c8d52c0228 Satya Tangirala 2020-05-14  35  				       bio->bi_crypt_context);
a892c8d52c0228 Satya Tangirala 2020-05-14  36  }
a892c8d52c0228 Satya Tangirala 2020-05-14  37  

:::::: The code at line 34 was first introduced by commit
:::::: a892c8d52c02284076fbbacae6692aa5c5807d11 block: Inline encryption support for blk-mq

:::::: TO: Satya Tangirala <satyat@...gle.com>
:::::: CC: Jens Axboe <axboe@...nel.dk>

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

Download attachment ".config.gz" of type "application/gzip" (29571 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ