tree:
https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 0894ff5eb82865f50565a1186db5970da0aa00dd
commit: 5e6fa3cf7bef3bf4d3f0564c7c27022753a43bf2 [19/43] include condition in the
BUG_ON/WARN_ON output
config: parisc-randconfig-s031-20200714 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
git checkout 5e6fa3cf7bef3bf4d3f0564c7c27022753a43bf2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> drivers/scsi/sd.c:1042:9: sparse: sparse: too long token
expansion
vim +1042 drivers/scsi/sd.c
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1021
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1022 /**
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1023 * sd_setup_write_same_cmnd - write
the same data to multiple blocks
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1024 * @cmd: command to prepare
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1025 *
7529fbb0080d67b Damien Le Moal 2017-04-24 1026 * Will set up either WRITE SAME(10)
or WRITE SAME(16) depending on
7529fbb0080d67b Damien Le Moal 2017-04-24 1027 * the preference indicated by the
target device.
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1028 **/
159b2cbf59f44f2 Christoph Hellwig 2018-11-09 1029 static blk_status_t
sd_setup_write_same_cmnd(struct scsi_cmnd *cmd)
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1030 {
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1031 struct request *rq =
cmd->request;
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1032 struct scsi_device *sdp =
cmd->device;
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1033 struct scsi_disk *sdkp =
scsi_disk(rq->rq_disk);
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1034 struct bio *bio = rq->bio;
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1035 u64 lba = sectors_to_logical(sdp,
blk_rq_pos(rq));
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1036 u32 nr_blocks =
sectors_to_logical(sdp, blk_rq_sectors(rq));
159b2cbf59f44f2 Christoph Hellwig 2018-11-09 1037 blk_status_t ret;
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1038
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1039 if
(sdkp->device->no_write_same)
159b2cbf59f44f2 Christoph Hellwig 2018-11-09 1040 return BLK_STS_TARGET;
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1041
a4ad39b1d10584d Kent Overstreet 2013-08-07 @1042 BUG_ON(bio_offset(bio) ||
bio_iovec(bio).bv_len != sdp->sector_size);
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1043
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1044 rq->timeout =
SD_WRITE_SAME_TIMEOUT;
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1045
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1046 if (sdkp->ws16 || lba >
0xffffffff || nr_blocks > 0xffff) {
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1047 cmd->cmd_len = 16;
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1048 cmd->cmnd[0] = WRITE_SAME_16;
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1049 put_unaligned_be64(lba,
&cmd->cmnd[2]);
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1050 put_unaligned_be32(nr_blocks,
&cmd->cmnd[10]);
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1051 } else {
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1052 cmd->cmd_len = 10;
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1053 cmd->cmnd[0] = WRITE_SAME;
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1054 put_unaligned_be32(lba,
&cmd->cmnd[2]);
c6c93fdd3451cc0 Martin K. Petersen 2019-01-15 1055 put_unaligned_be16(nr_blocks,
&cmd->cmnd[7]);
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1056 }
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1057
59b1134c5a2aab2 Christoph Hellwig 2014-06-28 1058 cmd->transfersize =
sdp->sector_size;
a25ee5485157403 Christoph Hellwig 2014-06-28 1059 cmd->allowed = SD_MAX_RETRIES;
08965c2eba135bd Bart Van Assche 2017-01-25 1060
08965c2eba135bd Bart Van Assche 2017-01-25 1061 /*
08965c2eba135bd Bart Van Assche 2017-01-25 1062 * For WRITE SAME the data
transferred via the DATA OUT buffer is
08965c2eba135bd Bart Van Assche 2017-01-25 1063 * different from the amount of data
actually written to the target.
08965c2eba135bd Bart Van Assche 2017-01-25 1064 *
08965c2eba135bd Bart Van Assche 2017-01-25 1065 * We set up __data_len to the
amount of data transferred via the
08965c2eba135bd Bart Van Assche 2017-01-25 1066 * DATA OUT buffer so that
blk_rq_map_sg sets up the proper S/G list
08965c2eba135bd Bart Van Assche 2017-01-25 1067 * to transfer a single sector of
data first, but then reset it to
08965c2eba135bd Bart Van Assche 2017-01-25 1068 * the amount of data to be written
right after so that the I/O path
08965c2eba135bd Bart Van Assche 2017-01-25 1069 * knows how much to actually
write.
08965c2eba135bd Bart Van Assche 2017-01-25 1070 */
08965c2eba135bd Bart Van Assche 2017-01-25 1071 rq->__data_len =
sdp->sector_size;
08965c2eba135bd Bart Van Assche 2017-01-25 1072 ret = scsi_init_io(cmd);
84f7a9de0602704 Bart Van Assche 2019-01-15 1073 rq->__data_len =
blk_rq_bytes(rq);
29f6ca6916e29fc Damien Le Moal 2017-05-08 1074
08965c2eba135bd Bart Van Assche 2017-01-25 1075 return ret;
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1076 }
5db44863b6ebbb4 Martin K. Petersen 2012-09-18 1077
:::::: The code at line 1042 was first introduced by commit
:::::: a4ad39b1d10584dfcfcfb0d510faab2c7f034399 block: Convert bio_iovec() to bvec_iter
:::::: TO: Kent Overstreet <kmo(a)daterainc.com>
:::::: CC: Kent Overstreet <kmo(a)daterainc.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org