[ext4:fix-bz-206443 5/6] fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git fix-bz-206443
head:   c20bac9bf82cd6560d269aa1e885e036d9e418b3
commit: 08999c46de7867f694b25689f2432f0861f4d33f [5/6] ext4: fix potential race between s_group_info online resizing and access
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-173-ge0787745-dirty
        git checkout 08999c46de7867f694b25689f2432f0861f4d33f
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)

>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
--
   fs/ext4/balloc.c:284:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
   fs/ext4/balloc.c:284:16: sparse:    struct buffer_head *[noderef] <asn:4> *
   fs/ext4/balloc.c:284:16: sparse:    struct buffer_head **
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
--
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
--
>> fs/ext4/mballoc.c:2377:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/mballoc.c:2377:9: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/mballoc.c:2377:9: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***
>> fs/ext4/ext4.h:3002:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info **[noderef] <asn:4> *
>> fs/ext4/ext4.h:3002:21: sparse:    struct ext4_group_info ***

vim +3002 fs/ext4/ext4.h

  2992	
  2993	static inline
  2994	struct ext4_group_info *ext4_get_group_info(struct super_block *sb,
  2995						    ext4_group_t group)
  2996	{
  2997		 struct ext4_group_info **grp_info;
  2998		 long indexv, indexh;
  2999		 BUG_ON(group >= EXT4_SB(sb)->s_groups_count);
  3000		 indexv = group >> (EXT4_DESC_PER_BLOCK_BITS(sb));
  3001		 indexh = group & ((EXT4_DESC_PER_BLOCK(sb)) - 1);
> 3002		 grp_info = sbi_array_rcu_deref(EXT4_SB(sb), s_group_info, indexv);
  3003		 return grp_info[indexh];
  3004	}
  3005	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux