All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Qing Zhang <zhangqing@loongson.cn>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Huacai Chen <chenhuacai@kernel.org>
Subject: drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Sun, 5 Mar 2023 09:18:09 +0800	[thread overview]
Message-ID: <202303050909.k3a83A1q-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b01fe98d34f3bed944a93bd8119fed80c856fad8
commit: 93a4fa622eb061f75f87f0cf9609ab4e69c67d01 LoongArch: Add STACKTRACE support
date:   7 months ago
config: loongarch-randconfig-s053-20230305 (https://download.01.org/0day-ci/archive/20230305/202303050909.k3a83A1q-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.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-39-gce1a6720-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=93a4fa622eb061f75f87f0cf9609ab4e69c67d01
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 93a4fa622eb061f75f87f0cf9609ab4e69c67d01
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=loongarch olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=loongarch SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303050909.k3a83A1q-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got unsigned int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got unsigned int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got unsigned int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got unsigned int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got int [noderef] __percpu *
>> drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   drivers/soc/qcom/rpmh.c:441:9: sparse:     expected void *ptr
   drivers/soc/qcom/rpmh.c:441:9: sparse:     got int [noderef] __percpu *
--
   mm/slub.c:2598:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2598:19: sparse:     expected void *ptr
   mm/slub.c:2598:19: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2598:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2598:19: sparse:     expected void *ptr
   mm/slub.c:2598:19: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2598:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2598:19: sparse:     expected void *ptr
   mm/slub.c:2598:19: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2598:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2598:19: sparse:     expected void *ptr
   mm/slub.c:2598:19: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2619:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2619:9: sparse:     expected void *ptr
   mm/slub.c:2619:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2619:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2619:9: sparse:     expected void *ptr
   mm/slub.c:2619:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2619:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2619:9: sparse:     expected void *ptr
   mm/slub.c:2619:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2619:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2619:9: sparse:     expected void *ptr
   mm/slub.c:2619:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2562:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2562:24: sparse:     expected void *ptr
   mm/slub.c:2562:24: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2562:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2562:24: sparse:     expected void *ptr
   mm/slub.c:2562:24: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2562:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2562:24: sparse:     expected void *ptr
   mm/slub.c:2562:24: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2562:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2562:24: sparse:     expected void *ptr
   mm/slub.c:2562:24: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2563:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2563:9: sparse:     expected void *ptr
   mm/slub.c:2563:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2563:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2563:9: sparse:     expected void *ptr
   mm/slub.c:2563:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2563:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2563:9: sparse:     expected void *ptr
   mm/slub.c:2563:9: sparse:     got struct slab *[noderef] __percpu *
   mm/slub.c:2563:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct slab *[noderef] __percpu * @@
   mm/slub.c:2563:9: sparse:     expected void *ptr
   mm/slub.c:2563:9: sparse:     got struct slab *[noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
   mm/slub.c:2475:9: sparse: sparse: context imbalance in 'deactivate_slab' - different lock contexts for basic block
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
   mm/slub.c:2509:55: sparse: sparse: context imbalance in '__unfreeze_partials' - unexpected unlock
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got unsigned int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
>> mm/slub.c:486:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   mm/slub.c:486:17: sparse:     expected void *ptr
   mm/slub.c:486:17: sparse:     got int [noderef] __percpu *
   mm/slub.c:3350:47: sparse: sparse: context imbalance in '__slab_free' - unexpected unlock
--
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     expected void *ptr
   kernel/time/posix-cpu-timers.c:1380:9: sparse:     got int [noderef] __percpu *
   kernel/time/posix-cpu-timers.c: note: in included file:
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/time/posix-cpu-timers.c:42:5: sparse: sparse: context imbalance in 'update_rlimit_cpu' - different lock contexts for basic block
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *
   include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:752:37: sparse:     expected struct spinlock [usertype] *lock
   include/linux/sched/signal.h:752:37: sparse:     got struct spinlock [noderef] __rcu *

vim +441 drivers/soc/qcom/rpmh.c

600513dfeef33c Lina Iyer        2018-06-20  426  
600513dfeef33c Lina Iyer        2018-06-20  427  /**
985427f997b6a3 Maulik Shah      2020-04-12  428   * rpmh_flush() - Flushes the buffered sleep and wake sets to TCSes
600513dfeef33c Lina Iyer        2018-06-20  429   *
985427f997b6a3 Maulik Shah      2020-04-12  430   * @ctrlr: Controller making request to flush cached data
600513dfeef33c Lina Iyer        2018-06-20  431   *
985427f997b6a3 Maulik Shah      2020-04-12  432   * Return:
985427f997b6a3 Maulik Shah      2020-04-12  433   * * 0          - Success
985427f997b6a3 Maulik Shah      2020-04-12  434   * * Error code - Otherwise
600513dfeef33c Lina Iyer        2018-06-20  435   */
d5e205079c34aa Maulik Shah      2020-02-03  436  int rpmh_flush(struct rpmh_ctrlr *ctrlr)
600513dfeef33c Lina Iyer        2018-06-20  437  {
600513dfeef33c Lina Iyer        2018-06-20  438  	struct cache_req *p;
d2a8cfc6f32026 Douglas Anderson 2020-05-04  439  	int ret = 0;
600513dfeef33c Lina Iyer        2018-06-20  440  
985427f997b6a3 Maulik Shah      2020-04-12 @441  	lockdep_assert_irqs_disabled();
985427f997b6a3 Maulik Shah      2020-04-12  442  
d2a8cfc6f32026 Douglas Anderson 2020-05-04  443  	/*
d2a8cfc6f32026 Douglas Anderson 2020-05-04  444  	 * Currently rpmh_flush() is only called when we think we're running
d2a8cfc6f32026 Douglas Anderson 2020-05-04  445  	 * on the last processor.  If the lock is busy it means another
d2a8cfc6f32026 Douglas Anderson 2020-05-04  446  	 * processor is up and it's better to abort than spin.
d2a8cfc6f32026 Douglas Anderson 2020-05-04  447  	 */
d2a8cfc6f32026 Douglas Anderson 2020-05-04  448  	if (!spin_trylock(&ctrlr->cache_lock))
d2a8cfc6f32026 Douglas Anderson 2020-05-04  449  		return -EBUSY;
d2a8cfc6f32026 Douglas Anderson 2020-05-04  450  
600513dfeef33c Lina Iyer        2018-06-20  451  	if (!ctrlr->dirty) {
600513dfeef33c Lina Iyer        2018-06-20  452  		pr_debug("Skipping flush, TCS has latest data.\n");
d2a8cfc6f32026 Douglas Anderson 2020-05-04  453  		goto exit;
600513dfeef33c Lina Iyer        2018-06-20  454  	}
600513dfeef33c Lina Iyer        2018-06-20  455  
f5ac95f9ca2f43 Maulik Shah      2020-04-12  456  	/* Invalidate the TCSes first to avoid stale data */
881808d0bbf336 Douglas Anderson 2020-04-13  457  	rpmh_rsc_invalidate(ctrlr_to_drv(ctrlr));
f5ac95f9ca2f43 Maulik Shah      2020-04-12  458  
c8790cb6da58d3 Lina Iyer        2018-06-20  459  	/* First flush the cached batch requests */
c8790cb6da58d3 Lina Iyer        2018-06-20  460  	ret = flush_batch(ctrlr);
c8790cb6da58d3 Lina Iyer        2018-06-20  461  	if (ret)
d2a8cfc6f32026 Douglas Anderson 2020-05-04  462  		goto exit;
c8790cb6da58d3 Lina Iyer        2018-06-20  463  
600513dfeef33c Lina Iyer        2018-06-20  464  	list_for_each_entry(p, &ctrlr->cache, list) {
600513dfeef33c Lina Iyer        2018-06-20  465  		if (!is_req_valid(p)) {
600513dfeef33c Lina Iyer        2018-06-20  466  			pr_debug("%s: skipping RPMH req: a:%#x s:%#x w:%#x",
600513dfeef33c Lina Iyer        2018-06-20  467  				 __func__, p->addr, p->sleep_val, p->wake_val);
600513dfeef33c Lina Iyer        2018-06-20  468  			continue;
600513dfeef33c Lina Iyer        2018-06-20  469  		}
d5e205079c34aa Maulik Shah      2020-02-03  470  		ret = send_single(ctrlr, RPMH_SLEEP_STATE, p->addr,
d5e205079c34aa Maulik Shah      2020-02-03  471  				  p->sleep_val);
600513dfeef33c Lina Iyer        2018-06-20  472  		if (ret)
d2a8cfc6f32026 Douglas Anderson 2020-05-04  473  			goto exit;
d5e205079c34aa Maulik Shah      2020-02-03  474  		ret = send_single(ctrlr, RPMH_WAKE_ONLY_STATE, p->addr,
d5e205079c34aa Maulik Shah      2020-02-03  475  				  p->wake_val);
600513dfeef33c Lina Iyer        2018-06-20  476  		if (ret)
d2a8cfc6f32026 Douglas Anderson 2020-05-04  477  			goto exit;
600513dfeef33c Lina Iyer        2018-06-20  478  	}
600513dfeef33c Lina Iyer        2018-06-20  479  
600513dfeef33c Lina Iyer        2018-06-20  480  	ctrlr->dirty = false;
600513dfeef33c Lina Iyer        2018-06-20  481  
d2a8cfc6f32026 Douglas Anderson 2020-05-04  482  exit:
d2a8cfc6f32026 Douglas Anderson 2020-05-04  483  	spin_unlock(&ctrlr->cache_lock);
d2a8cfc6f32026 Douglas Anderson 2020-05-04  484  	return ret;
600513dfeef33c Lina Iyer        2018-06-20  485  }
600513dfeef33c Lina Iyer        2018-06-20  486  

:::::: The code at line 441 was first introduced by commit
:::::: 985427f997b6a31155cce841eb395d43c64771c5 soc: qcom: rpmh: Invoke rpmh_flush() for dirty caches

:::::: TO: Maulik Shah <mkshah@codeaurora.org>
:::::: CC: Bjorn Andersson <bjorn.andersson@linaro.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

             reply	other threads:[~2023-03-05  1:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-05  1:18 kernel test robot [this message]
2023-04-01 20:40 drivers/soc/qcom/rpmh.c:441:9: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202303050909.k3a83A1q-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=chenhuacai@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=zhangqing@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.