linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [arm-platforms:irq/ppi-affinity 18/25] drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
@ 2025-09-15  0:21 kernel test robot
  2025-09-15  8:40 ` Marc Zyngier
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-09-15  0:21 UTC (permalink / raw)
  To: Will Deacon; +Cc: oe-kbuild-all, linux-arm-kernel, Marc Zyngier

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/ppi-affinity
head:   136dedfe26e7de871029de6ed7dcf555e840fadc
commit: 49964285d3074f0494d8f09dce6e120d623b7843 [18/25] perf: arm_pmu: Request specific affinities for percpu NMI/IRQ
config: arm-randconfig-r132-20250915 (https://download.01.org/0day-ci/archive/20250915/202509150852.4ziBllm5-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 21857ae337e0892a5522b6e7337899caa61de2a6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250915/202509150852.4ziBllm5-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509150852.4ziBllm5-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
>> drivers/perf/arm_pmu.c:68:35: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got void ** @@
   drivers/perf/arm_pmu.c:68:35: sparse:     expected void const [noderef] __percpu *__vpp_verify
   drivers/perf/arm_pmu.c:68:35: sparse:     got void **
>> drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
>> drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
   drivers/perf/arm_pmu.c:95:35: sparse: sparse: cast removes address space '__percpu' of expression
   drivers/perf/arm_pmu.c:95:35: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got void ** @@
   drivers/perf/arm_pmu.c:95:35: sparse:     expected void const [noderef] __percpu *__vpp_verify
   drivers/perf/arm_pmu.c:95:35: sparse:     got void **
   drivers/perf/arm_pmu.c:95:35: sparse: sparse: cast removes address space '__percpu' of expression
   drivers/perf/arm_pmu.c:95:35: sparse: sparse: cast removes address space '__percpu' of expression

vim +/__percpu +68 drivers/perf/arm_pmu.c

    64	
    65	static void armpmu_free_percpu_pmuirq(unsigned int irq, int cpu,
    66					   void __percpu *devid)
    67	{
  > 68		struct arm_pmu *armpmu = *per_cpu_ptr((void **)devid, cpu);
    69	
    70		if (armpmu_count_irq_users(&armpmu->supported_cpus, irq) == 1)
    71			free_percpu_irq(irq, devid);
    72	}
    73	

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [arm-platforms:irq/ppi-affinity 18/25] drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
  2025-09-15  0:21 [arm-platforms:irq/ppi-affinity 18/25] drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression kernel test robot
@ 2025-09-15  8:40 ` Marc Zyngier
  0 siblings, 0 replies; 2+ messages in thread
From: Marc Zyngier @ 2025-09-15  8:40 UTC (permalink / raw)
  To: Will Deacon, kernel test robot; +Cc: oe-kbuild-all, linux-arm-kernel

On Mon, 15 Sep 2025 01:21:29 +0100,
kernel test robot <lkp@intel.com> wrote:
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/ppi-affinity
> head:   136dedfe26e7de871029de6ed7dcf555e840fadc
> commit: 49964285d3074f0494d8f09dce6e120d623b7843 [18/25] perf: arm_pmu: Request specific affinities for percpu NMI/IRQ
> config: arm-randconfig-r132-20250915 (https://download.01.org/0day-ci/archive/20250915/202509150852.4ziBllm5-lkp@intel.com/config)
> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 21857ae337e0892a5522b6e7337899caa61de2a6)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250915/202509150852.4ziBllm5-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202509150852.4ziBllm5-lkp@intel.com/
> 
> sparse warnings: (new ones prefixed by >>)
> >> drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
> >> drivers/perf/arm_pmu.c:68:35: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got void ** @@
>    drivers/perf/arm_pmu.c:68:35: sparse:     expected void const [noderef] __percpu *__vpp_verify
>    drivers/perf/arm_pmu.c:68:35: sparse:     got void **
> >> drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
> >> drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression
>    drivers/perf/arm_pmu.c:95:35: sparse: sparse: cast removes address space '__percpu' of expression
>    drivers/perf/arm_pmu.c:95:35: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got void ** @@
>    drivers/perf/arm_pmu.c:95:35: sparse:     expected void const [noderef] __percpu *__vpp_verify
>    drivers/perf/arm_pmu.c:95:35: sparse:     got void **
>    drivers/perf/arm_pmu.c:95:35: sparse: sparse: cast removes address space '__percpu' of expression
>    drivers/perf/arm_pmu.c:95:35: sparse: sparse: cast removes address space '__percpu' of expression
> 
> vim +/__percpu +68 drivers/perf/arm_pmu.c
> 
>     64	
>     65	static void armpmu_free_percpu_pmuirq(unsigned int irq, int cpu,
>     66					   void __percpu *devid)
>     67	{
>   > 68		struct arm_pmu *armpmu = *per_cpu_ptr((void **)devid, cpu);
>     69	
>     70		if (armpmu_count_irq_users(&armpmu->supported_cpus, irq) == 1)
>     71			free_percpu_irq(irq, devid);
>     72	}
>     73	

I'll squash this in before posting the series:

diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c
index e427675446894..7171d8e0d27a5 100644
--- a/drivers/perf/arm_pmu.c
+++ b/drivers/perf/arm_pmu.c
@@ -65,7 +65,7 @@ static void armpmu_enable_percpu_pmuirq(unsigned int irq)
 static void armpmu_free_percpu_pmuirq(unsigned int irq, int cpu,
 				   void __percpu *devid)
 {
-	struct arm_pmu *armpmu = *per_cpu_ptr((void **)devid, cpu);
+	struct arm_pmu *armpmu = *per_cpu_ptr((void * __percpu *)devid, cpu);
 
 	if (armpmu_count_irq_users(&armpmu->supported_cpus, irq) == 1)
 		free_percpu_irq(irq, devid);
@@ -92,7 +92,7 @@ static void armpmu_disable_percpu_pmunmi(unsigned int irq)
 static void armpmu_free_percpu_pmunmi(unsigned int irq, int cpu,
 				      void __percpu *devid)
 {
-	struct arm_pmu *armpmu = *per_cpu_ptr((void **)devid, cpu);
+	struct arm_pmu *armpmu = *per_cpu_ptr((void * __percpu *)devid, cpu);
 
 	if (armpmu_count_irq_users(&armpmu->supported_cpus, irq) == 1)
 		free_percpu_nmi(irq, devid);

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-09-15  8:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-15  0:21 [arm-platforms:irq/ppi-affinity 18/25] drivers/perf/arm_pmu.c:68:35: sparse: sparse: cast removes address space '__percpu' of expression kernel test robot
2025-09-15  8:40 ` Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).