Hi Kemeng, kernel test robot noticed the following build warnings: [auto build test WARNING on tytso-ext4/dev] [also build test WARNING on next-20230412] [cannot apply to linus/master v6.3-rc6] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Kemeng-Shi/ext4-fix-wrong-unit-use-in-ext4_mb_normalize_request/20230412-172757 base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev patch link: https://lore.kernel.org/r/20230412172833.2317696-19-shikemeng%40huaweicloud.com patch subject: [PATCH v2 18/19] ext4: add some kunit stub for mballoc kunit test config: powerpc-randconfig-r006-20230409 (https://download.01.org/0day-ci/archive/20230413/202304130244.S0jqbqkn-lkp@xxxxxxxxx/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 2c57868e2e877f73c339796c3374ae660bb77f0d) 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 powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu # https://github.com/intel-lab-lkp/linux/commit/357d528a1ead868fa038c4bfe426744ac7c34ea6 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Kemeng-Shi/ext4-fix-wrong-unit-use-in-ext4_mb_normalize_request/20230412-172757 git checkout 357d528a1ead868fa038c4bfe426744ac7c34ea6 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash fs/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202304130244.S0jqbqkn-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> fs/ext4/balloc.c:275:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] unsigned int group_desc; ^ fs/ext4/balloc.c:435:26: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] struct ext4_group_desc *desc; ^ fs/ext4/balloc.c:538:26: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] struct ext4_group_desc *desc; ^ 3 warnings generated. -- >> fs/ext4/mballoc.c:3752:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] handle_t *handle = mc->handle; ^ 1 warning generated. vim +275 fs/ext4/balloc.c 717d50e4971b81 Andreas Dilger 2007-10-16 248 ac27a0ec112a08 Dave Kleikamp 2006-10-11 249 /* ac27a0ec112a08 Dave Kleikamp 2006-10-11 250 * The free blocks are managed by bitmaps. A file system contains several ac27a0ec112a08 Dave Kleikamp 2006-10-11 251 * blocks groups. Each group contains 1 bitmap block for blocks, 1 bitmap ac27a0ec112a08 Dave Kleikamp 2006-10-11 252 * block for inodes, N blocks for the inode table and data blocks. ac27a0ec112a08 Dave Kleikamp 2006-10-11 253 * ac27a0ec112a08 Dave Kleikamp 2006-10-11 254 * The file system contains group descriptors which are located after the ac27a0ec112a08 Dave Kleikamp 2006-10-11 255 * super block. Each descriptor contains the number of the bitmap block and ac27a0ec112a08 Dave Kleikamp 2006-10-11 256 * the free blocks count in the block. The descriptors are loaded in memory e627432c2948d5 Aneesh Kumar K.V 2007-02-20 257 * when a file system is mounted (see ext4_fill_super). ac27a0ec112a08 Dave Kleikamp 2006-10-11 258 */ ac27a0ec112a08 Dave Kleikamp 2006-10-11 259 ac27a0ec112a08 Dave Kleikamp 2006-10-11 260 /** 617ba13b31fbf5 Mingming Cao 2006-10-11 261 * ext4_get_group_desc() -- load group descriptor from disk ac27a0ec112a08 Dave Kleikamp 2006-10-11 262 * @sb: super block ac27a0ec112a08 Dave Kleikamp 2006-10-11 263 * @block_group: given block group ac27a0ec112a08 Dave Kleikamp 2006-10-11 264 * @bh: pointer to the buffer head to store the block ac27a0ec112a08 Dave Kleikamp 2006-10-11 265 * group descriptor ac27a0ec112a08 Dave Kleikamp 2006-10-11 266 */ 617ba13b31fbf5 Mingming Cao 2006-10-11 267 struct ext4_group_desc * ext4_get_group_desc(struct super_block *sb, fd2d42912f9f09 Avantika Mathur 2008-01-28 268 ext4_group_t block_group, ac27a0ec112a08 Dave Kleikamp 2006-10-11 269 struct buffer_head **bh) ac27a0ec112a08 Dave Kleikamp 2006-10-11 270 { 357d528a1ead86 Kemeng Shi 2023-04-13 271 #ifdef CONFIG_EXT4_KUNIT_TESTS 357d528a1ead86 Kemeng Shi 2023-04-13 272 KUNIT_STATIC_STUB_REDIRECT(ext4_get_group_desc, 357d528a1ead86 Kemeng Shi 2023-04-13 273 sb, block_group, bh); 357d528a1ead86 Kemeng Shi 2023-04-13 274 #endif 498e5f24158da7 Theodore Ts'o 2008-11-05 @275 unsigned int group_desc; 498e5f24158da7 Theodore Ts'o 2008-11-05 276 unsigned int offset; 8df9675f8b498d Theodore Ts'o 2009-05-01 277 ext4_group_t ngroups = ext4_get_groups_count(sb); 617ba13b31fbf5 Mingming Cao 2006-10-11 278 struct ext4_group_desc *desc; 617ba13b31fbf5 Mingming Cao 2006-10-11 279 struct ext4_sb_info *sbi = EXT4_SB(sb); 1d0c3924a92e69 Theodore Ts'o 2020-02-15 280 struct buffer_head *bh_p; ac27a0ec112a08 Dave Kleikamp 2006-10-11 281 8df9675f8b498d Theodore Ts'o 2009-05-01 282 if (block_group >= ngroups) { 12062dddda4509 Eric Sandeen 2010-02-15 283 ext4_error(sb, "block_group >= groups_count - block_group = %u," 12062dddda4509 Eric Sandeen 2010-02-15 284 " groups_count = %u", block_group, ngroups); ac27a0ec112a08 Dave Kleikamp 2006-10-11 285 ac27a0ec112a08 Dave Kleikamp 2006-10-11 286 return NULL; ac27a0ec112a08 Dave Kleikamp 2006-10-11 287 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 288 617ba13b31fbf5 Mingming Cao 2006-10-11 289 group_desc = block_group >> EXT4_DESC_PER_BLOCK_BITS(sb); 617ba13b31fbf5 Mingming Cao 2006-10-11 290 offset = block_group & (EXT4_DESC_PER_BLOCK(sb) - 1); 1d0c3924a92e69 Theodore Ts'o 2020-02-15 291 bh_p = sbi_array_rcu_deref(sbi, s_group_desc, group_desc); 1d0c3924a92e69 Theodore Ts'o 2020-02-15 292 /* 1d0c3924a92e69 Theodore Ts'o 2020-02-15 293 * sbi_array_rcu_deref returns with rcu unlocked, this is ok since 1d0c3924a92e69 Theodore Ts'o 2020-02-15 294 * the pointer being dereferenced won't be dereferenced again. By 1d0c3924a92e69 Theodore Ts'o 2020-02-15 295 * looking at the usage in add_new_gdb() the value isn't modified, 1d0c3924a92e69 Theodore Ts'o 2020-02-15 296 * just the pointer, and so it remains valid. 1d0c3924a92e69 Theodore Ts'o 2020-02-15 297 */ 1d0c3924a92e69 Theodore Ts'o 2020-02-15 298 if (!bh_p) { 12062dddda4509 Eric Sandeen 2010-02-15 299 ext4_error(sb, "Group descriptor not loaded - " 498e5f24158da7 Theodore Ts'o 2008-11-05 300 "block_group = %u, group_desc = %u, desc = %u", ac27a0ec112a08 Dave Kleikamp 2006-10-11 301 block_group, group_desc, offset); ac27a0ec112a08 Dave Kleikamp 2006-10-11 302 return NULL; ac27a0ec112a08 Dave Kleikamp 2006-10-11 303 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 304 0d1ee42f27d30e Alexandre Ratchov 2006-10-11 305 desc = (struct ext4_group_desc *)( 1d0c3924a92e69 Theodore Ts'o 2020-02-15 306 (__u8 *)bh_p->b_data + 0d1ee42f27d30e Alexandre Ratchov 2006-10-11 307 offset * EXT4_DESC_SIZE(sb)); ac27a0ec112a08 Dave Kleikamp 2006-10-11 308 if (bh) 1d0c3924a92e69 Theodore Ts'o 2020-02-15 309 *bh = bh_p; 0d1ee42f27d30e Alexandre Ratchov 2006-10-11 310 return desc; ac27a0ec112a08 Dave Kleikamp 2006-10-11 311 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 312 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests