Re: [PATCH v2 4/5] block: Change memcpy_(to|from)_bvec to pass bvec by value

From: kernel test robot
Date: Tue Jun 06 2023 - 03:32:11 EST


Hi Kent,

kernel test robot noticed the following build errors:

[auto build test ERROR on axboe-block/for-next]
[cannot apply to kdave/for-next device-mapper-dm/for-next gfs2/for-next tytso-ext4/dev linus/master v6.4-rc5 next-20230606]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Kent-Overstreet/block-Rework-bio_for_each_folio_all/20230606-052850
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20230605212717.2570570-4-kent.overstreet%40linux.dev
patch subject: [PATCH v2 4/5] block: Change memcpy_(to|from)_bvec to pass bvec by value
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230606/202306061511.LwAxWAce-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch axboe-block for-next
git checkout axboe-block/for-next
b4 shazam https://lore.kernel.org/r/20230605212717.2570570-4-kent.overstreet@xxxxxxxxx
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=alpha olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=alpha SHELL=/bin/bash drivers/scsi/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306061511.LwAxWAce-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/scsi/aha1542.c: In function 'aha1542_free_cmd':
>> drivers/scsi/aha1542.c:270:40: error: incompatible type for argument 1 of 'memcpy_to_bvec'
270 | memcpy_to_bvec(&bv, buf);
| ^~~
| |
| struct bio_vec *
In file included from include/linux/blk_types.h:10,
from include/linux/blkdev.h:9,
from include/scsi/scsi_cmnd.h:6,
from drivers/scsi/aha1542.c:23:
include/linux/bvec.h:271:50: note: expected 'struct bio_vec' but argument is of type 'struct bio_vec *'
271 | static inline void memcpy_to_bvec(struct bio_vec bvec, const char *from)
| ~~~~~~~~~~~~~~~^~~~


vim +/memcpy_to_bvec +270 drivers/scsi/aha1542.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 258
1794ef2b150dd5 Christoph Hellwig 2018-11-10 259 static void aha1542_free_cmd(struct scsi_cmnd *cmd)
1794ef2b150dd5 Christoph Hellwig 2018-11-10 260 {
1794ef2b150dd5 Christoph Hellwig 2018-11-10 261 struct aha1542_cmd *acmd = scsi_cmd_priv(cmd);
1794ef2b150dd5 Christoph Hellwig 2018-11-10 262
2f2fef022c3e7a Christoph Hellwig 2021-03-31 263 if (cmd->sc_data_direction == DMA_FROM_DEVICE) {
11bf4ec580737c Bart Van Assche 2021-08-09 264 struct request *rq = scsi_cmd_to_rq(cmd);
2f2fef022c3e7a Christoph Hellwig 2021-03-31 265 void *buf = acmd->data_buffer;
2f2fef022c3e7a Christoph Hellwig 2021-03-31 266 struct req_iterator iter;
2f2fef022c3e7a Christoph Hellwig 2021-03-31 267 struct bio_vec bv;
2f2fef022c3e7a Christoph Hellwig 2021-03-31 268
11bf4ec580737c Bart Van Assche 2021-08-09 269 rq_for_each_segment(bv, rq, iter) {
e6ab6113526aa4 Christoph Hellwig 2021-10-18 @270 memcpy_to_bvec(&bv, buf);
2f2fef022c3e7a Christoph Hellwig 2021-03-31 271 buf += bv.bv_len;
2f2fef022c3e7a Christoph Hellwig 2021-03-31 272 }
1794ef2b150dd5 Christoph Hellwig 2018-11-10 273 }
1794ef2b150dd5 Christoph Hellwig 2018-11-10 274
1794ef2b150dd5 Christoph Hellwig 2018-11-10 275 scsi_dma_unmap(cmd);
1794ef2b150dd5 Christoph Hellwig 2018-11-10 276 }
1794ef2b150dd5 Christoph Hellwig 2018-11-10 277

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki