Messages in this thread | | | Date | Thu, 26 Aug 2021 03:45:49 +0800 | From | kernel test robot <> | Subject | [dhowells-fs:netfs-folio-regions 30/33] fs/netfs/crypto.c:76:10: warning: comparison of distinct pointer types ('typeof (len) *' (aka 'unsigned int *') and 'typeof (((1UL) << (12)) - offset) *' (aka 'unsigned long *')) |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-folio-regions head: bee78a1e3c9ae86d025b0b8f44c2553228fd9d2c commit: 89af2a7697f40c56dc351fdd874f06908946f955 [30/33] netfs: Perform content encryption config: riscv-randconfig-c006-20210825 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project ea08c4cd1c0869ec5024a8bb3f5cdf06ab03ae83) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=89af2a7697f40c56dc351fdd874f06908946f955 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 89af2a7697f40c56dc351fdd874f06908946f955 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> fs/netfs/crypto.c:76:10: warning: comparison of distinct pointer types ('typeof (len) *' (aka 'unsigned int *') and 'typeof (((1UL) << (12)) - offset) *' (aka 'unsigned long *')) [-Wcompare-distinct-pointer-types] seg = min(len, PAGE_SIZE - offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:45:19: note: expanded from macro 'min' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~~~~~~~ include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp' (__typecheck(x, y) && __no_side_effects(x, y)) ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:20:28: note: expanded from macro '__typecheck' (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~ 1 warning generated.
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 [unhandled content-type:application/gzip] | |