Hi "Matthew, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on axboe-block/for-next] [also build test WARNING on linus/master v5.16-rc5 next-20211216] [cannot apply to xfs-linux/for-next djwong-xfs/djwong-devel] [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] url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/iomap-xfs-folio-patches/20211217-050934 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: i386-randconfig-s001-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171302.gSpYE6fK-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-dirty # https://github.com/0day-ci/linux/commit/2d3e5234105d9fb12c78cf6c09a20d65e5a55e2f git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Matthew-Wilcox-Oracle/iomap-xfs-folio-patches/20211217-050934 git checkout 2d3e5234105d9fb12c78cf6c09a20d65e5a55e2f # save the config file to linux build tree mkdir build_dir make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash fs/iomap/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> fs/iomap/buffered-io.c:620:23: sparse: sparse: incompatible types in comparison expression (different type sizes): >> fs/iomap/buffered-io.c:620:23: sparse: unsigned int * >> fs/iomap/buffered-io.c:620:23: sparse: unsigned long * vim +620 fs/iomap/buffered-io.c 602 603 static int iomap_write_begin(const struct iomap_iter *iter, loff_t pos, 604 size_t len, struct folio **foliop) 605 { 606 const struct iomap_page_ops *page_ops = iter->iomap.page_ops; 607 const struct iomap *srcmap = iomap_iter_srcmap(iter); 608 struct folio *folio; 609 unsigned fgp = FGP_LOCK | FGP_WRITE | FGP_CREAT | FGP_STABLE | FGP_NOFS; 610 int status = 0; 611 612 BUG_ON(pos + len > iter->iomap.offset + iter->iomap.length); 613 if (srcmap != &iter->iomap) 614 BUG_ON(pos + len > srcmap->offset + srcmap->length); 615 616 if (fatal_signal_pending(current)) 617 return -EINTR; 618 619 if (!mapping_large_folio_support(iter->inode->i_mapping)) > 620 len = min(len, PAGE_SIZE - offset_in_page(pos)); 621 622 if (page_ops && page_ops->page_prepare) { 623 status = page_ops->page_prepare(iter->inode, pos, len); 624 if (status) 625 return status; 626 } 627 628 folio = __filemap_get_folio(iter->inode->i_mapping, pos >> PAGE_SHIFT, 629 fgp, mapping_gfp_mask(iter->inode->i_mapping)); 630 if (!folio) { 631 status = -ENOMEM; 632 goto out_no_page; 633 } 634 if (pos + len > folio_pos(folio) + folio_size(folio)) 635 len = folio_pos(folio) + folio_size(folio) - pos; 636 637 if (srcmap->type == IOMAP_INLINE) 638 status = iomap_write_begin_inline(iter, folio); 639 else if (srcmap->flags & IOMAP_F_BUFFER_HEAD) 640 status = __block_write_begin_int(folio, pos, len, NULL, srcmap); 641 else 642 status = __iomap_write_begin(iter, pos, len, folio); 643 644 if (unlikely(status)) 645 goto out_unlock; 646 647 *foliop = folio; 648 return 0; 649 650 out_unlock: 651 folio_unlock(folio); 652 folio_put(folio); 653 iomap_write_failed(iter->inode, pos, len); 654 655 out_no_page: 656 if (page_ops && page_ops->page_done) 657 page_ops->page_done(iter->inode, pos, 0, NULL); 658 return status; 659 } 660 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org