Re: fs/dlm/midcomms.c:913:22: sparse: sparse: restricted __le32 degrades to integer

From: Dan Carpenter
Date: Mon Jan 24 2022 - 07:46:17 EST


On Sun, Jan 23, 2022 at 01:41:52PM -0500, Alexander Aring wrote:
>
> I see also:
>
> fs/dlm/midcomms.c:213:1: sparse: sparse: symbol
> '__srcu_struct_nodes_srcu' was not declared. Should it be static?
>

Why not just do this? (Untested. Maybe I don't understand?)

diff --git a/include/linux/srcutree.h b/include/linux/srcutree.h
index cb1f4351e8ba..a164089abec4 100644
--- a/include/linux/srcutree.h
+++ b/include/linux/srcutree.h
@@ -121,7 +121,7 @@ struct srcu_struct {
#ifdef MODULE
# define __DEFINE_SRCU(name, is_static) \
is_static struct srcu_struct name; \
- struct srcu_struct * const __srcu_struct_##name \
+ is_static struct srcu_struct * const __srcu_struct_##name \
__section("___srcu_struct_ptrs") = &name
#else
# define __DEFINE_SRCU(name, is_static) \