lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Fri, 21 Feb 2020 06:41:05 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Suraj Jitindar Singh <surajjs@...zon.com>
Cc:     kbuild-all@...ts.01.org, linux-ext4@...r.kernel.org,
        Theodore Ts'o <tytso@....edu>, Balbir Singh <sblbir@...zon.com>
Subject: [ext4:fix-bz-206443 5/6] fs/ext4/ext4.h:3002:21: sparse: sparse:
 incompatible types in comparison expression (different address spaces):

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@...el.com>


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@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ