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: <202107251632.oTpvOnLh-lkp@intel.com>
Date:   Sun, 25 Jul 2021 16:38:36 +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 15/16]
 drivers/md/dm-verity-target.c:101:21: error: variable has incomplete type
 'struct scatterlist'

tree:   git://git.infradead.org/users/hch/block.git blkdev.h-includes
head:   db08f634bead64da6de80830782f3c339fc41b11
commit: 9571c3f0ec1966546513f3be443b4abe3a7b4666 [15/16] block: move integrity handling out of blkdev.h
config: arm64-buildonly-randconfig-r002-20210725 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project c63dbd850182797bc4b76124d08e1c320ab2365d)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-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 9571c3f0ec1966546513f3be443b4abe3a7b4666
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/md/

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 >>):

>> drivers/md/dm-verity-target.c:101:21: error: variable has incomplete type 'struct scatterlist'
           struct scatterlist sg;
                              ^
   include/linux/crypto.h:165:8: note: forward declaration of 'struct scatterlist'
   struct scatterlist;
          ^
>> drivers/md/dm-verity-target.c:104:3: error: implicit declaration of function 'sg_init_one' [-Werror,-Wimplicit-function-declaration]
                   sg_init_one(&sg, data, len);
                   ^
>> drivers/md/dm-verity-target.c:112:4: error: implicit declaration of function 'sg_init_table' [-Werror,-Wimplicit-function-declaration]
                           sg_init_table(&sg, 1);
                           ^
>> drivers/md/dm-verity-target.c:113:4: error: implicit declaration of function 'sg_set_page' [-Werror,-Wimplicit-function-declaration]
                           sg_set_page(&sg, vmalloc_to_page(data), this_step, offset_in_page(data));
                           ^
   drivers/md/dm-verity-target.c:376:21: error: variable has incomplete type 'struct scatterlist'
           struct scatterlist sg;
                              ^
   include/linux/crypto.h:165:8: note: forward declaration of 'struct scatterlist'
   struct scatterlist;
          ^
   drivers/md/dm-verity-target.c:384:3: error: implicit declaration of function 'sg_init_table' [-Werror,-Wimplicit-function-declaration]
                   sg_init_table(&sg, 1);
                   ^
   drivers/md/dm-verity-target.c:395:3: error: implicit declaration of function 'sg_set_page' [-Werror,-Wimplicit-function-declaration]
                   sg_set_page(&sg, bv.bv_page, len, bv.bv_offset);
                   ^
   7 errors generated.


vim +101 drivers/md/dm-verity-target.c

a4ffc152198efb drivers/md/dm-verity.c        Mikulas Patocka  2012-03-28   96  
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19   97  static int verity_hash_update(struct dm_verity *v, struct ahash_request *req,
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19   98  				const u8 *data, size_t len,
12f1ffc40a81fe drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-10-18   99  				struct crypto_wait *wait)
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19  100  {
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19 @101  	struct scatterlist sg;
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19  102  
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  103  	if (likely(!is_vmalloc_addr(data))) {
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19 @104  		sg_init_one(&sg, data, len);
d1ac3ff008fb9a drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-02-19  105  		ahash_request_set_crypt(req, &sg, NULL, len);
12f1ffc40a81fe drivers/md/dm-verity-target.c Gilad Ben-Yossef 2017-10-18  106  		return crypto_wait_req(crypto_ahash_update(req), wait);
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  107  	} else {
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  108  		do {
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  109  			int r;
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  110  			size_t this_step = min_t(size_t, len, PAGE_SIZE - offset_in_page(data));
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  111  			flush_kernel_vmap_range((void *)data, this_step);
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22 @112  			sg_init_table(&sg, 1);
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22 @113  			sg_set_page(&sg, vmalloc_to_page(data), this_step, offset_in_page(data));
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  114  			ahash_request_set_crypt(req, &sg, NULL, this_step);
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  115  			r = crypto_wait_req(crypto_ahash_update(req), wait);
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  116  			if (unlikely(r))
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  117  				return r;
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  118  			data += this_step;
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  119  			len -= this_step;
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  120  		} while (len);
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  121  		return 0;
e4b069e0945fa1 drivers/md/dm-verity-target.c Mikulas Patocka  2018-08-22  122  	}
6dbeda3469ced7 drivers/md/dm-verity.c        Sami Tolvanen    2015-11-05  123  }
6dbeda3469ced7 drivers/md/dm-verity.c        Sami Tolvanen    2015-11-05  124  

:::::: The code at line 101 was first introduced by commit
:::::: d1ac3ff008fb9a48f91fc15920b4c8db24c0f03e dm verity: switch to using asynchronous hash crypto API

:::::: TO: Gilad Ben-Yossef <gilad@...yossef.com>
:::::: CC: Mike Snitzer <snitzer@...hat.com>

---
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" (41298 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ