CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
CC: x...@kernel.org
TO: Sebastian Andrzej Siewior <bige...@linutronix.de>
CC: Peter Zijlstra <pet...@infradead.org>
CC: Waiman Long <long...@redhat.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
head:   cd27ccfc727e99352321c0c75012ab9c5a90321e
commit: 9983a9d577db415c41099a20a5637ab25dd3c240 [8/9] locking/local_lock: Make 
the empty local_lock_*() function a macro.
:::::: branch date: 3 weeks ago
:::::: commit date: 4 weeks ago
config: nios2-randconfig-s032-20220310 
(https://download.01.org/0day-ci/archive/20220312/202203121205.ecybxvuy-...@intel.com/config)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=9983a9d577db415c41099a20a5637ab25dd3c240
        git remote add tip 
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
        git fetch --no-tags tip locking/core
        git checkout 9983a9d577db415c41099a20a5637ab25dd3c240
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=nios2 
SHELL=/bin/bash drivers/md/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)
   drivers/md/raid5.c: note: in included file:
   drivers/md/raid5.h:271:14: sparse: sparse: array of flexible structures
   drivers/md/raid5.c:641:40: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:641:40: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:641:40: sparse:    struct md_rdev *
   drivers/md/raid5.c:643:32: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:643:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:643:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:667:40: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:667:40: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:667:40: sparse:    struct md_rdev *
   drivers/md/raid5.c:669:32: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:669:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:669:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:1101:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:1101:25: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:1101:25: sparse:    struct md_rdev *
   drivers/md/raid5.c:1103:24: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:1103:24: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:1103:24: sparse:    struct md_rdev *
   drivers/md/raid5.c:3563:32: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:3563:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3563:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:3689:48: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:3689:48: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3689:48: sparse:    struct md_rdev *
   drivers/md/raid5.c:3696:32: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:3696:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3696:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:3718:16: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:3718:16: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3718:16: sparse:    struct md_rdev *
   drivers/md/raid5.c:4646:24: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:4646:24: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4646:24: sparse:    struct md_rdev *
   drivers/md/raid5.c:4657:32: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:4657:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4657:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:4704:49: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:4704:49: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4704:49: sparse:    struct md_rdev *
   drivers/md/raid5.c:4717:49: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:4717:49: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4717:49: sparse:    struct md_rdev *
   drivers/md/raid5.c:4726:49: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:4726:49: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4726:49: sparse:    struct md_rdev *
   drivers/md/raid5.c:4748:40: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:4748:40: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4748:40: sparse:    struct md_rdev *
   drivers/md/raid5.c:5419:16: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:5419:16: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:5419:16: sparse:    struct md_rdev *
   drivers/md/raid5.c:5422:24: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:5422:24: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:5422:24: sparse:    struct md_rdev *
   drivers/md/raid5.c:7070:9: sparse: sparse: cast removes address space 
'__percpu' of expression
   drivers/md/raid5.c:7070:9: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
>> drivers/md/raid5.c:7070:9: sparse:    struct local_lock_t [usertype] **
>> drivers/md/raid5.c:7070:9: sparse:    struct local_lock_t [noderef] __percpu 
>> **
   drivers/md/raid5.c:7842:40: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:7842:40: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:7842:40: sparse:    struct md_rdev *
   drivers/md/raid5.c:8055:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:8055:25: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:8055:25: sparse:    struct md_rdev *
   drivers/md/raid5.c:8071:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   drivers/md/raid5.c:8071:25: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:8071:25: sparse:    struct md_rdev *
   drivers/md/raid5.c:1476:16: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:1476:39: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2208:54: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2419:16: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2421:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2422:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7046:23: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7046:23: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7047:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7048:16: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7049:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7054:34: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7055:17: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7056:22: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:97:9: sparse: sparse: context imbalance in 
'raid5_quiesce' - different lock contexts for basic block

vim +7070 drivers/md/raid5.c

789b5e03152844 Oleg Nesterov   2014-02-06  7051  
789b5e03152844 Oleg Nesterov   2014-02-06  7052  static int 
alloc_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu)
789b5e03152844 Oleg Nesterov   2014-02-06  7053  {
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7054         if (conf->level == 6 && 
!percpu->spare_page) {
789b5e03152844 Oleg Nesterov   2014-02-06  7055                 
percpu->spare_page = alloc_page(GFP_KERNEL);
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7056                 if 
(!percpu->spare_page)
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7057                         return 
-ENOMEM;
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7058         }
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7059  
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7060         if 
(scribble_alloc(percpu,
b330e6a49dc3e9 Kent Overstreet 2019-03-11  7061                            
max(conf->raid_disks,
738a273806ee05 NeilBrown       2015-05-08  7062                                
conf->previous_raid_disks),
738a273806ee05 NeilBrown       2015-05-08  7063                            
max(conf->chunk_sectors,
738a273806ee05 NeilBrown       2015-05-08  7064                                
conf->prev_chunk_sectors)
c911c46c017c74 Yufen Yu        2020-07-18  7065                            / 
RAID5_STRIPE_SECTORS(conf))) {
789b5e03152844 Oleg Nesterov   2014-02-06  7066                 
free_scratch_buffer(conf, percpu);
789b5e03152844 Oleg Nesterov   2014-02-06  7067                 return -ENOMEM;
789b5e03152844 Oleg Nesterov   2014-02-06  7068         }
789b5e03152844 Oleg Nesterov   2014-02-06  7069  
770b1d216d7371 Davidlohr Bueso 2021-11-15 @7070         
local_lock_init(&percpu->lock);
789b5e03152844 Oleg Nesterov   2014-02-06  7071         return 0;
789b5e03152844 Oleg Nesterov   2014-02-06  7072  }
789b5e03152844 Oleg Nesterov   2014-02-06  7073  

:::::: The code at line 7070 was first introduced by commit
:::::: 770b1d216d7371c94c88713824da4be4bc39a4e0 md/raid5: play nice with 
PREEMPT_RT

:::::: TO: Davidlohr Bueso <d...@stgolabs.net>
:::::: CC: Song Liu <s...@kernel.org>

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to