All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-rt-devel:linux-5.10.y-rt-rebase 211/269] drivers/md/raid5.c:2221:20: sparse: sparse: incorrect type in argument 1 (different address spaces)
@ 2021-01-07 14:29 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-01-07 14:29 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 12022 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.10.y-rt-rebase
head:   d57d7d09825f034b4ec37457940c83158c3731c8
commit: 309733a592ba448bc36d0e8d4a57597ac0218388 [211/269] md: raid5: Make raid5_percpu handling RT aware
config: m68k-randconfig-s031-20210107 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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.3-208-g46a52ca4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/commit/?id=309733a592ba448bc36d0e8d4a57597ac0218388
        git remote add linux-rt-devel https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git
        git fetch --no-tags linux-rt-devel linux-5.10.y-rt-rebase
        git checkout 309733a592ba448bc36d0e8d4a57597ac0218388
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=m68k 

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


"sparse warnings: (new ones prefixed by >>)"
   drivers/md/raid5.c: note: in included file:
   drivers/md/raid5.h:270: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:1100:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:1100:25: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:1100:25: sparse:    struct md_rdev *
   drivers/md/raid5.c:1102:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:1102:24: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:1102:24: sparse:    struct md_rdev *
>> drivers/md/raid5.c:2221:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __percpu * @@
   drivers/md/raid5.c:2221:20: sparse:     expected struct spinlock [usertype] *lock
   drivers/md/raid5.c:2221:20: sparse:     got struct spinlock [noderef] __percpu *
   drivers/md/raid5.c:2280:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __percpu * @@
   drivers/md/raid5.c:2280:22: sparse:     expected struct spinlock [usertype] *lock
   drivers/md/raid5.c:2280:22: sparse:     got struct spinlock [noderef] __percpu *
   drivers/md/raid5.c:3564:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:3564:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3564:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:3690:48: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:3690:48: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3690:48: sparse:    struct md_rdev *
   drivers/md/raid5.c:3697:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:3697:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3697:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:3719:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:3719:16: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:3719:16: sparse:    struct md_rdev *
   drivers/md/raid5.c:4647:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:4647:24: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4647:24: sparse:    struct md_rdev *
   drivers/md/raid5.c:4658:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:4658:32: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4658:32: sparse:    struct md_rdev *
   drivers/md/raid5.c:4705:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:4705:49: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4705:49: sparse:    struct md_rdev *
   drivers/md/raid5.c:4718:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:4718:49: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4718:49: sparse:    struct md_rdev *
   drivers/md/raid5.c:4727:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:4727:49: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4727:49: sparse:    struct md_rdev *
   drivers/md/raid5.c:4749:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:4749:40: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:4749:40: sparse:    struct md_rdev *
   drivers/md/raid5.c:5428:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:5428:16: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:5428:16: sparse:    struct md_rdev *
   drivers/md/raid5.c:5431:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:5431:24: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:5431:24: sparse:    struct md_rdev *
   drivers/md/raid5.c:7103:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __percpu * @@
   drivers/md/raid5.c:7103:9: sparse:     expected struct spinlock [usertype] *lock
   drivers/md/raid5.c:7103:9: sparse:     got struct spinlock [noderef] __percpu *
   drivers/md/raid5.c:7809:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:7809:40: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:7809:40: sparse:    struct md_rdev *
   drivers/md/raid5.c:8022:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:8022:25: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:8022:25: sparse:    struct md_rdev *
   drivers/md/raid5.c:8038:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/md/raid5.c:8038:25: sparse:    struct md_rdev [noderef] __rcu *
   drivers/md/raid5.c:8038:25: sparse:    struct md_rdev *
   drivers/md/raid5.c:1475:16: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:1475:39: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2207:54: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2420:16: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2422:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:2423:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7029:23: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7029:23: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7030:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7031:16: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7032:9: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7037:34: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7038:17: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7039:22: sparse: sparse: dereference of noderef expression
   drivers/md/raid5.c:7103:9: 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 +2221 drivers/md/raid5.c

  2209	
  2210	static void raid_run_ops(struct stripe_head *sh, unsigned long ops_request)
  2211	{
  2212		int overlap_clear = 0, i, disks = sh->disks;
  2213		struct dma_async_tx_descriptor *tx = NULL;
  2214		struct r5conf *conf = sh->raid_conf;
  2215		int level = conf->level;
  2216		struct raid5_percpu *percpu;
  2217		unsigned long cpu;
  2218	
  2219		cpu = get_cpu_light();
  2220		percpu = per_cpu_ptr(conf->percpu, cpu);
> 2221		spin_lock(&percpu->lock);
  2222		if (test_bit(STRIPE_OP_BIOFILL, &ops_request)) {
  2223			ops_run_biofill(sh);
  2224			overlap_clear++;
  2225		}
  2226	
  2227		if (test_bit(STRIPE_OP_COMPUTE_BLK, &ops_request)) {
  2228			if (level < 6)
  2229				tx = ops_run_compute5(sh, percpu);
  2230			else {
  2231				if (sh->ops.target2 < 0 || sh->ops.target < 0)
  2232					tx = ops_run_compute6_1(sh, percpu);
  2233				else
  2234					tx = ops_run_compute6_2(sh, percpu);
  2235			}
  2236			/* terminate the chain if reconstruct is not set to be run */
  2237			if (tx && !test_bit(STRIPE_OP_RECONSTRUCT, &ops_request))
  2238				async_tx_ack(tx);
  2239		}
  2240	
  2241		if (test_bit(STRIPE_OP_PREXOR, &ops_request)) {
  2242			if (level < 6)
  2243				tx = ops_run_prexor5(sh, percpu, tx);
  2244			else
  2245				tx = ops_run_prexor6(sh, percpu, tx);
  2246		}
  2247	
  2248		if (test_bit(STRIPE_OP_PARTIAL_PARITY, &ops_request))
  2249			tx = ops_run_partial_parity(sh, percpu, tx);
  2250	
  2251		if (test_bit(STRIPE_OP_BIODRAIN, &ops_request)) {
  2252			tx = ops_run_biodrain(sh, tx);
  2253			overlap_clear++;
  2254		}
  2255	
  2256		if (test_bit(STRIPE_OP_RECONSTRUCT, &ops_request)) {
  2257			if (level < 6)
  2258				ops_run_reconstruct5(sh, percpu, tx);
  2259			else
  2260				ops_run_reconstruct6(sh, percpu, tx);
  2261		}
  2262	
  2263		if (test_bit(STRIPE_OP_CHECK, &ops_request)) {
  2264			if (sh->check_state == check_state_run)
  2265				ops_run_check_p(sh, percpu);
  2266			else if (sh->check_state == check_state_run_q)
  2267				ops_run_check_pq(sh, percpu, 0);
  2268			else if (sh->check_state == check_state_run_pq)
  2269				ops_run_check_pq(sh, percpu, 1);
  2270			else
  2271				BUG();
  2272		}
  2273	
  2274		if (overlap_clear && !sh->batch_head)
  2275			for (i = disks; i--; ) {
  2276				struct r5dev *dev = &sh->dev[i];
  2277				if (test_and_clear_bit(R5_Overlap, &dev->flags))
  2278					wake_up(&sh->raid_conf->wait_for_overlap);
  2279			}
  2280		spin_unlock(&percpu->lock);
  2281		put_cpu_light();
  2282	}
  2283	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 24485 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-01-07 14:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-07 14:29 [linux-rt-devel:linux-5.10.y-rt-rebase 211/269] drivers/md/raid5.c:2221:20: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.