tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-folio-regions head: 2f3fe780e9a44691136170536363c701b527d0e8 commit: de1b88ab9671b37d7aa179f41e5cbcb91af6d759 [31/36] netfs: Perform content encryption config: i386-randconfig-s031-20210830 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-348-gf0e6938b-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=de1b88ab9671b37d7aa179f41e5cbcb91af6d759 git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git git fetch --no-tags dhowells-fs netfs-folio-regions git checkout de1b88ab9671b37d7aa179f41e5cbcb91af6d759 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash fs/netfs/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> fs/netfs/crypto.c:76:31: sparse: sparse: incompatible types in comparison expression (different type sizes): >> fs/netfs/crypto.c:76:31: sparse: unsigned int * >> fs/netfs/crypto.c:76:31: sparse: unsigned long * vim +76 fs/netfs/crypto.c 45 46 /* 47 * Populate a scatterlist from folios in an xarray. 48 */ 49 static int netfs_xarray_to_sglist(struct xarray *xa, loff_t pos, size_t len, 50 struct scatterlist *sg, unsigned int n_sg) 51 { 52 struct scatterlist *p = sg; 53 struct folio *folio = NULL; 54 size_t seg, offset, skip = 0; 55 loff_t start = pos; 56 pgoff_t index = start >> PAGE_SHIFT; 57 int j; 58 59 XA_STATE(xas, xa, index); 60 61 sg_init_table(sg, n_sg); 62 63 rcu_read_lock(); 64 65 xas_for_each(&xas, folio, ULONG_MAX) { 66 if (xas_retry(&xas, folio)) 67 continue; 68 if (WARN_ON(xa_is_value(folio)) || WARN_ON(folio_test_hugetlb(folio))) 69 break; 70 for (j = (folio_index(folio) < index) ? index - folio_index(folio) : 0; 71 j < folio_nr_pages(folio); j++ 72 ) { 73 struct page *subpage = folio_file_page(folio, j); 74 75 offset = (pos + skip) & ~PAGE_MASK; > 76 seg = min(len, PAGE_SIZE - offset); 77 78 sg_set_page(p++, subpage, seg, offset); 79 80 len -= seg; 81 skip += seg; 82 if (len == 0) 83 break; 84 } 85 if (len == 0) 86 break; 87 } 88 89 rcu_read_unlock(); 90 if (len > 0) { 91 kdebug("*** Insufficient source (%zx)", len); 92 //WARN_ON(len > 0); 93 return -EIO; 94 } 95 96 sg_mark_end(p - 1); 97 return p - sg; 98 } 99 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org