Messages in this thread | | | Date | Fri, 1 Oct 2021 06:32:13 +0800 | From | kernel test robot <> | Subject | [kdave-btrfs-devel:ext/qu/subpage-compress 102/103] fs/btrfs/lzo.c:136:25: error: cast from pointer to integer of different size |
| |
tree: https://github.com/kdave/btrfs-devel.git ext/qu/subpage-compress head: 7565a7bad0aa85a48ab9009d629168f9b5578cdc commit: b978264e0830f3e0585c20f7f155d3f61e8b7096 [102/103] debug config: arc-allyesconfig (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 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 # https://github.com/kdave/btrfs-devel/commit/b978264e0830f3e0585c20f7f155d3f61e8b7096 git remote add kdave-btrfs-devel https://github.com/kdave/btrfs-devel.git git fetch --no-tags kdave-btrfs-devel ext/qu/subpage-compress git checkout b978264e0830f3e0585c20f7f155d3f61e8b7096 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/kernel.h:19, from fs/btrfs/lzo.c:6: fs/btrfs/lzo.c: In function 'copy_compressed_data_to_page': >> fs/btrfs/lzo.c:136:25: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] 136 | (u64)compressed_data, compressed_size, (u64)cur_out, sectorsize, *cur_out); | ^ include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap' 418 | _p_func(_fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ fs/btrfs/lzo.c:135:9: note: in expansion of macro 'printk' 135 | printk(KERN_DEBUG "DBG: compressed_data=0x%llx compressed_size=%lu cur_out=0x%llx sectorsize=%u cur_out=%u\n", | ^~~~~~ fs/btrfs/lzo.c:136:64: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] 136 | (u64)compressed_data, compressed_size, (u64)cur_out, sectorsize, *cur_out); | ^ include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap' 418 | _p_func(_fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ fs/btrfs/lzo.c:135:9: note: in expansion of macro 'printk' 135 | printk(KERN_DEBUG "DBG: compressed_data=0x%llx compressed_size=%lu cur_out=0x%llx sectorsize=%u cur_out=%u\n", | ^~~~~~ >> include/linux/kern_levels.h:5:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ include/linux/printk.h:418:25: note: in definition of macro 'printk_index_wrap' 418 | _p_func(_fmt, ##__VA_ARGS__); \ | ^~~~ fs/btrfs/lzo.c:135:9: note: in expansion of macro 'printk' 135 | printk(KERN_DEBUG "DBG: compressed_data=0x%llx compressed_size=%lu cur_out=0x%llx sectorsize=%u cur_out=%u\n", | ^~~~~~ include/linux/kern_levels.h:15:25: note: in expansion of macro 'KERN_SOH' 15 | #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ | ^~~~~~~~ fs/btrfs/lzo.c:135:16: note: in expansion of macro 'KERN_DEBUG' 135 | printk(KERN_DEBUG "DBG: compressed_data=0x%llx compressed_size=%lu cur_out=0x%llx sectorsize=%u cur_out=%u\n", | ^~~~~~~~~~ cc1: all warnings being treated as errors
vim +136 fs/btrfs/lzo.c
114 115 /* 116 * Will do: 117 * 118 * - Write a segment header into the destination 119 * - Copy the compressed buffer into the destination 120 * - Make sure we have enough space in the last sector to fit a segment header 121 * If not, we will pad at most (LZO_LEN (4)) - 1 bytes of zeros. 122 * 123 * Will allocate new pages when needed. 124 */ 125 static int copy_compressed_data_to_page(char *compressed_data, 126 size_t compressed_size, 127 struct page **out_pages, 128 u32 *cur_out, 129 const u32 sectorsize) 130 { 131 u32 sector_bytes_left; 132 u32 orig_out; 133 struct page *cur_page; 134 135 printk(KERN_DEBUG "DBG: compressed_data=0x%llx compressed_size=%lu cur_out=0x%llx sectorsize=%u cur_out=%u\n", > 136 (u64)compressed_data, compressed_size, (u64)cur_out, sectorsize, *cur_out); 137 138 /* 139 * We never allow a segment header crossing sector boundary, previous 140 * run should ensure we have enough space left inside the sector. 141 */ 142 ASSERT((*cur_out / sectorsize) == 143 (*cur_out + LZO_LEN - 1) / sectorsize); 144 145 cur_page = out_pages[*cur_out / PAGE_SIZE]; 146 /* Allocate a new page */ 147 if (!cur_page) { 148 cur_page = alloc_page(GFP_NOFS); 149 if (!cur_page) 150 return -ENOMEM; 151 out_pages[*cur_out / PAGE_SIZE] = cur_page; 152 } 153 154 write_compress_length(page_address(cur_page) + offset_in_page(*cur_out), 155 compressed_size); 156 *cur_out += LZO_LEN; 157 158 orig_out = *cur_out; 159 /* *cur_out is increased, let the main loop to grab a proper page */ 160 cur_page = NULL; 161 162 /* Copy compressed data */ 163 while (*cur_out - orig_out < compressed_size) { 164 u32 copy_len = min_t(u32, sectorsize - *cur_out % sectorsize, 165 orig_out + compressed_size - *cur_out); 166 167 /* Grab a page or allocate a new one */ 168 if (!cur_page) { 169 cur_page = out_pages[*cur_out / PAGE_SIZE]; 170 if (!cur_page) { 171 cur_page = alloc_page(GFP_NOFS); 172 if (!cur_page) 173 return -ENOMEM; 174 out_pages[*cur_out / PAGE_SIZE] = cur_page; 175 } 176 } 177 178 memcpy(page_address(cur_page) + offset_in_page(*cur_out), 179 compressed_data + *cur_out - orig_out, copy_len); 180 181 *cur_out += copy_len; 182 183 /* If we reached page boudnary, go to next page */ 184 if (IS_ALIGNED(*cur_out, PAGE_SIZE)) { 185 /* Let next iteration to grab a page */ 186 cur_page = NULL; 187 } 188 } 189 190 /* 191 * Check if we can fit the next segment header into the remaining space 192 * of the sector. 193 */ 194 sector_bytes_left = round_up(*cur_out, sectorsize) - *cur_out; 195 if (sector_bytes_left >= LZO_LEN) 196 return 0; 197 198 /* The remaining size is not enough, pad it with zeros */ 199 memset(page_address(cur_page) + offset_in_page(*cur_out), 0, 200 sector_bytes_left); 201 *cur_out += sector_bytes_left; 202 return 0; 203 } 204
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | |