* [PATCH] hwspinlock: fix warning from sparse
@ 2026-03-23 10:22 Antonio Borneo
2026-03-25 8:53 ` Antonio Borneo
0 siblings, 1 reply; 2+ messages in thread
From: Antonio Borneo @ 2026-03-23 10:22 UTC (permalink / raw)
To: Bjorn Andersson, Baolin Wang, linux-remoteproc, linux-kernel
Cc: Antonio Borneo
Sparse triggers the following warnings:
drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in assignment (different address spaces)
drivers/hwspinlock/hwspinlock_core.c:392:9: expected void **slot
drivers/hwspinlock/hwspinlock_core.c:392:9: got void [noderef] __rcu **
drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in assignment (different address spaces)
drivers/hwspinlock/hwspinlock_core.c:392:9: expected void **slot
drivers/hwspinlock/hwspinlock_core.c:392:9: got void [noderef] __rcu **
drivers/hwspinlock/hwspinlock_core.c:393:48: warning: incorrect type in argument 1 (different address spaces)
drivers/hwspinlock/hwspinlock_core.c:393:48: expected void [noderef] __rcu **slot
drivers/hwspinlock/hwspinlock_core.c:393:48: got void **slot
drivers/hwspinlock/hwspinlock_core.c:397:30: warning: incorrect type in assignment (different address spaces)
drivers/hwspinlock/hwspinlock_core.c:397:30: expected void **slot
drivers/hwspinlock/hwspinlock_core.c:397:30: got void [noderef] __rcu **
drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in argument 1 (different address spaces)
drivers/hwspinlock/hwspinlock_core.c:392:9: expected void [noderef] __rcu **slot
drivers/hwspinlock/hwspinlock_core.c:392:9: got void **slot
drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in assignment (different address spaces)
drivers/hwspinlock/hwspinlock_core.c:392:9: expected void **slot
drivers/hwspinlock/hwspinlock_core.c:392:9: got void [noderef] __rcu **
all linked to the same missing '__rcu' at declaration of 'slot'.
Fix it!
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
---
drivers/hwspinlock/hwspinlock_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hwspinlock/hwspinlock_core.c b/drivers/hwspinlock/hwspinlock_core.c
index cc8e952a67727..50a875b2353f8 100644
--- a/drivers/hwspinlock/hwspinlock_core.c
+++ b/drivers/hwspinlock/hwspinlock_core.c
@@ -372,7 +372,7 @@ int of_hwspin_lock_get_id(struct device_node *np, int index)
struct of_phandle_args args;
struct hwspinlock *hwlock;
struct radix_tree_iter iter;
- void **slot;
+ void __rcu **slot;
int id;
int ret;
base-commit: c369299895a591d96745d6492d4888259b004a9e
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] hwspinlock: fix warning from sparse
2026-03-23 10:22 [PATCH] hwspinlock: fix warning from sparse Antonio Borneo
@ 2026-03-25 8:53 ` Antonio Borneo
0 siblings, 0 replies; 2+ messages in thread
From: Antonio Borneo @ 2026-03-25 8:53 UTC (permalink / raw)
To: Bjorn Andersson, Baolin Wang, linux-remoteproc, linux-kernel
On Mon, 2026-03-23 at 11:22 +0100, Antonio Borneo wrote:
> Sparse triggers the following warnings:
>
> drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in assignment (different address spaces)
> drivers/hwspinlock/hwspinlock_core.c:392:9: expected void **slot
> drivers/hwspinlock/hwspinlock_core.c:392:9: got void [noderef] __rcu **
> drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in assignment (different address spaces)
> drivers/hwspinlock/hwspinlock_core.c:392:9: expected void **slot
> drivers/hwspinlock/hwspinlock_core.c:392:9: got void [noderef] __rcu **
> drivers/hwspinlock/hwspinlock_core.c:393:48: warning: incorrect type in argument 1 (different address spaces)
> drivers/hwspinlock/hwspinlock_core.c:393:48: expected void [noderef] __rcu **slot
> drivers/hwspinlock/hwspinlock_core.c:393:48: got void **slot
> drivers/hwspinlock/hwspinlock_core.c:397:30: warning: incorrect type in assignment (different address spaces)
> drivers/hwspinlock/hwspinlock_core.c:397:30: expected void **slot
> drivers/hwspinlock/hwspinlock_core.c:397:30: got void [noderef] __rcu **
> drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in argument 1 (different address spaces)
> drivers/hwspinlock/hwspinlock_core.c:392:9: expected void [noderef] __rcu **slot
> drivers/hwspinlock/hwspinlock_core.c:392:9: got void **slot
> drivers/hwspinlock/hwspinlock_core.c:392:9: warning: incorrect type in assignment (different address spaces)
> drivers/hwspinlock/hwspinlock_core.c:392:9: expected void **slot
> drivers/hwspinlock/hwspinlock_core.c:392:9: got void [noderef] __rcu **
>
> all linked to the same missing '__rcu' at declaration of 'slot'.
>
> Fix it!
>
> Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
> ---
> drivers/hwspinlock/hwspinlock_core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hwspinlock/hwspinlock_core.c b/drivers/hwspinlock/hwspinlock_core.c
> index cc8e952a67727..50a875b2353f8 100644
> --- a/drivers/hwspinlock/hwspinlock_core.c
> +++ b/drivers/hwspinlock/hwspinlock_core.c
> @@ -372,7 +372,7 @@ int of_hwspin_lock_get_id(struct device_node *np, int index)
> struct of_phandle_args args;
> struct hwspinlock *hwlock;
> struct radix_tree_iter iter;
> - void **slot;
> + void __rcu **slot;
Please ignore this patch.
While it fixes a minor warning from sparse, the analysis in
http://sashiko.dev/#/patchset/20260323102210.228551-1-antonio.borneo%40foss.st.com
highlights a race if provider is unbind, plus I see another race between provider and consumer on async probe.
I'm checking to fix such races, addressing at the same time the warning from sparse.
Merging this patch now will only create unnecessary dependency for backporting in stable.
Regards,
Antonio
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-03-25 8:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-23 10:22 [PATCH] hwspinlock: fix warning from sparse Antonio Borneo
2026-03-25 8:53 ` Antonio Borneo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox