Messages in this thread | | | Date | Tue, 3 May 2022 05:10:08 +0800 | From | kernel test robot <> | Subject | [jsarha:topic/cros-sof-v4.19 353/6555] drivers/block/virtio_blk.c:197:32: sparse: sparse: incorrect type in assignment (different base types) |
| |
tree: https://github.com/jsarha/linux topic/cros-sof-v4.19 head: d7a3e91d8d16d1ef8653deec5a1fffc4de034a0c commit: 9f34ca2c7bcf381efb6f3e1a876dedf95f9b68ed [353/6555] BACKPORT: FROMLIST: virtio_blk: add discard and write zeroes support config: i386-randconfig-s002-20220502 (https://download.01.org/0day-ci/archive/20220503/202205030546.EHrD3oCf-lkp@intel.com/config) compiler: gcc-11 (Debian 11.2.0-20) 11.2.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-dirty # https://github.com/jsarha/linux/commit/9f34ca2c7bcf381efb6f3e1a876dedf95f9b68ed git remote add jsarha https://github.com/jsarha/linux git fetch --no-tags jsarha topic/cros-sof-v4.19 git checkout 9f34ca2c7bcf381efb6f3e1a876dedf95f9b68ed # save the config file mkdir build_dir && cp config build_dir/.config make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/block/ drivers/input/keyboard/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>) >> drivers/block/virtio_blk.c:197:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __virtio32 [usertype] flags @@ got restricted __le32 [usertype] @@ drivers/block/virtio_blk.c:197:32: sparse: expected restricted __virtio32 [usertype] flags drivers/block/virtio_blk.c:197:32: sparse: got restricted __le32 [usertype] >> drivers/block/virtio_blk.c:198:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __virtio32 [usertype] num_sectors @@ got restricted __le32 [usertype] @@ drivers/block/virtio_blk.c:198:38: sparse: expected restricted __virtio32 [usertype] num_sectors drivers/block/virtio_blk.c:198:38: sparse: got restricted __le32 [usertype] >> drivers/block/virtio_blk.c:199:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __virtio64 [usertype] sector @@ got restricted __le64 [usertype] @@ drivers/block/virtio_blk.c:199:33: sparse: expected restricted __virtio64 [usertype] sector drivers/block/virtio_blk.c:199:33: sparse: got restricted __le64 [usertype]
vim +197 drivers/block/virtio_blk.c
175 176 177 static inline int virtblk_setup_discard_write_zeroes(struct request *req, 178 bool unmap) 179 { 180 unsigned short segments = blk_rq_nr_discard_segments(req); 181 unsigned short n = 0; 182 struct virtio_blk_discard_write_zeroes *range; 183 struct bio *bio; 184 u32 flags = 0; 185 186 if (unmap) 187 flags |= VIRTIO_BLK_WRITE_ZEROES_FLAG_UNMAP; 188 189 range = kmalloc_array(segments, sizeof(*range), GFP_ATOMIC); 190 if (!range) 191 return -ENOMEM; 192 193 __rq_for_each_bio(bio, req) { 194 u64 sector = bio->bi_iter.bi_sector; 195 u32 num_sectors = bio->bi_iter.bi_size >> 9; 196 > 197 range[n].flags = cpu_to_le32(flags); > 198 range[n].num_sectors = cpu_to_le32(num_sectors); > 199 range[n].sector = cpu_to_le64(sector); 200 n++; 201 } 202 203 req->special_vec.bv_page = virt_to_page(range); 204 req->special_vec.bv_offset = offset_in_page(range); 205 req->special_vec.bv_len = sizeof(*range) * segments; 206 req->rq_flags |= RQF_SPECIAL_PAYLOAD; 207 208 return 0; 209 } 210
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |