* [linux-rt-devel:linux-5.4.y-rt 182/325] drivers/md/raid5.c:2063:20: sparse: sparse: incorrect type in argument 1 (different address spaces)
@ 2021-01-08 12:01 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-01-08 12:01 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 13599 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.4.y-rt
head: 5fbf1e70f11dba64cc05c9d85120a3aa7c67a4a2
commit: ae8acffa3df219b2f37a21caa7727b647b7c024e [182/325] md: raid5: Make raid5_percpu handling RT aware
config: i386-randconfig-s001-20210108 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# 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=ae8acffa3df219b2f37a21caa7727b647b7c024e
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.4.y-rt
git checkout ae8acffa3df219b2f37a21caa7727b647b7c024e
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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:564:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:564:40: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:564:40: sparse: struct md_rdev *
drivers/md/raid5.c:566:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:566:32: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:566:32: sparse: struct md_rdev *
drivers/md/raid5.c:590:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:590:40: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:590:40: sparse: struct md_rdev *
drivers/md/raid5.c:592:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:592:32: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:592:32: sparse: struct md_rdev *
drivers/md/raid5.c:1023:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:1023:25: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:1023:25: sparse: struct md_rdev *
drivers/md/raid5.c:1025:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:1025:24: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:1025:24: sparse: struct md_rdev *
>> drivers/md/raid5.c:2063:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:3> * @@
drivers/md/raid5.c:2063:20: sparse: expected struct spinlock [usertype] *lock
drivers/md/raid5.c:2063:20: sparse: got struct spinlock [noderef] <asn:3> *
drivers/md/raid5.c:2122:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:3> * @@
drivers/md/raid5.c:2122:22: sparse: expected struct spinlock [usertype] *lock
drivers/md/raid5.c:2122:22: sparse: got struct spinlock [noderef] <asn:3> *
drivers/md/raid5.c:3363:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3363:32: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:3363:32: sparse: struct md_rdev *
drivers/md/raid5.c:3489:48: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3489:48: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:3489:48: sparse: struct md_rdev *
drivers/md/raid5.c:3496:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3496:32: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:3496:32: sparse: struct md_rdev *
drivers/md/raid5.c:3518:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3518:16: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:3518:16: sparse: struct md_rdev *
drivers/md/raid5.c:4438:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4438:24: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:4438:24: sparse: struct md_rdev *
drivers/md/raid5.c:4449:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4449:32: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:4449:32: sparse: struct md_rdev *
drivers/md/raid5.c:4496:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4496:49: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:4496:49: sparse: struct md_rdev *
drivers/md/raid5.c:4509:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4509:49: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:4509:49: sparse: struct md_rdev *
drivers/md/raid5.c:4518:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4518:49: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:4518:49: sparse: struct md_rdev *
drivers/md/raid5.c:4540:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4540:40: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:4540:40: sparse: struct md_rdev *
drivers/md/raid5.c:5239:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:5239:16: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:5239:16: sparse: struct md_rdev *
drivers/md/raid5.c:5242:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:5242:24: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:5242:24: sparse: struct md_rdev *
drivers/md/raid5.c:6826:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:3> * @@
drivers/md/raid5.c:6826:9: sparse: expected struct spinlock [usertype] *lock
drivers/md/raid5.c:6826:9: sparse: got struct spinlock [noderef] <asn:3> *
>> drivers/md/raid5.c:6826:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] <asn:3> * @@
drivers/md/raid5.c:6826:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/md/raid5.c:6826:9: sparse: got struct raw_spinlock [noderef] <asn:3> *
drivers/md/raid5.c:7524:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:7524:40: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:7524:40: sparse: struct md_rdev *
drivers/md/raid5.c:7737:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:7737:25: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:7737:25: sparse: struct md_rdev *
drivers/md/raid5.c:7753:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:7753:25: sparse: struct md_rdev [noderef] <asn:4> *
drivers/md/raid5.c:7753:25: sparse: struct md_rdev *
drivers/md/raid5.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, arch/x86/include/asm/percpu.h, ...):
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
drivers/md/raid5.c:1394:16: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:1394:39: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2049:54: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2244:16: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2246:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2247:9: sparse: sparse: dereference of noderef expression
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
drivers/md/raid5.c:6751:23: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6751:23: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6752:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6753:16: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6754:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6759:34: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6760:17: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:6761:22: sparse: sparse: dereference of noderef expression
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
drivers/md/raid5.c:97:9: sparse: sparse: context imbalance in 'raid5_quiesce' - different lock contexts for basic block
vim +2063 drivers/md/raid5.c
2051
2052 static void raid_run_ops(struct stripe_head *sh, unsigned long ops_request)
2053 {
2054 int overlap_clear = 0, i, disks = sh->disks;
2055 struct dma_async_tx_descriptor *tx = NULL;
2056 struct r5conf *conf = sh->raid_conf;
2057 int level = conf->level;
2058 struct raid5_percpu *percpu;
2059 unsigned long cpu;
2060
2061 cpu = get_cpu_light();
2062 percpu = per_cpu_ptr(conf->percpu, cpu);
> 2063 spin_lock(&percpu->lock);
2064 if (test_bit(STRIPE_OP_BIOFILL, &ops_request)) {
2065 ops_run_biofill(sh);
2066 overlap_clear++;
2067 }
2068
2069 if (test_bit(STRIPE_OP_COMPUTE_BLK, &ops_request)) {
2070 if (level < 6)
2071 tx = ops_run_compute5(sh, percpu);
2072 else {
2073 if (sh->ops.target2 < 0 || sh->ops.target < 0)
2074 tx = ops_run_compute6_1(sh, percpu);
2075 else
2076 tx = ops_run_compute6_2(sh, percpu);
2077 }
2078 /* terminate the chain if reconstruct is not set to be run */
2079 if (tx && !test_bit(STRIPE_OP_RECONSTRUCT, &ops_request))
2080 async_tx_ack(tx);
2081 }
2082
2083 if (test_bit(STRIPE_OP_PREXOR, &ops_request)) {
2084 if (level < 6)
2085 tx = ops_run_prexor5(sh, percpu, tx);
2086 else
2087 tx = ops_run_prexor6(sh, percpu, tx);
2088 }
2089
2090 if (test_bit(STRIPE_OP_PARTIAL_PARITY, &ops_request))
2091 tx = ops_run_partial_parity(sh, percpu, tx);
2092
2093 if (test_bit(STRIPE_OP_BIODRAIN, &ops_request)) {
2094 tx = ops_run_biodrain(sh, tx);
2095 overlap_clear++;
2096 }
2097
2098 if (test_bit(STRIPE_OP_RECONSTRUCT, &ops_request)) {
2099 if (level < 6)
2100 ops_run_reconstruct5(sh, percpu, tx);
2101 else
2102 ops_run_reconstruct6(sh, percpu, tx);
2103 }
2104
2105 if (test_bit(STRIPE_OP_CHECK, &ops_request)) {
2106 if (sh->check_state == check_state_run)
2107 ops_run_check_p(sh, percpu);
2108 else if (sh->check_state == check_state_run_q)
2109 ops_run_check_pq(sh, percpu, 0);
2110 else if (sh->check_state == check_state_run_pq)
2111 ops_run_check_pq(sh, percpu, 1);
2112 else
2113 BUG();
2114 }
2115
2116 if (overlap_clear && !sh->batch_head)
2117 for (i = disks; i--; ) {
2118 struct r5dev *dev = &sh->dev[i];
2119 if (test_and_clear_bit(R5_Overlap, &dev->flags))
2120 wake_up(&sh->raid_conf->wait_for_overlap);
2121 }
2122 spin_unlock(&percpu->lock);
2123 put_cpu_light();
2124 }
2125
---
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: 30877 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-01-08 12:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-08 12:01 [linux-rt-devel:linux-5.4.y-rt 182/325] drivers/md/raid5.c:2063: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.