The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-18 13:56 Adrian
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian @ 2026-06-18 13:56 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel

Signed-off-by: Adrian <adrian@tu-correo.com>
---
 fs/gfs2/incore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 614657778..16df75336 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;
-- 
2.47.3



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

* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-18 13:56 Adrian
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian @ 2026-06-18 13:56 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel

Signed-off-by: Adrian <adriangarciacasado42@gmail.com>
---
 fs/gfs2/incore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 614657778..16df75336 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;
-- 
2.47.3



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

* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-30  9:55 Adrian Garcia Casado
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Garcia Casado @ 2026-06-30  9:55 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel, rpeterso, agruenba

In gfs2_inode_lookup() and other parts of the GFS2 filesystem,
ip->i_gl is accessed and dereferenced via RCU helpers like
rcu_dereference_check() and rcu_access_pointer(). However, the
actual i_gl pointer in struct gfs2_inode was never annotated
with __rcu in incore.h.

This missing annotation causes Sparse to throw multiple
"incompatible types in comparison expression (different address spaces)"
warnings and compilation-blocking errors under strict static analysis builds.

Fix this by adding the __rcu annotation to i_gl in struct gfs2_inode.

Signed-off-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
Tested-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
---

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 6146577..16df753 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;


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

* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-30 10:02 Adrian Garcia Casado
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Garcia Casado @ 2026-06-30 10:02 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel, agruenba

In gfs2_inode_lookup() and other parts of the GFS2 filesystem,
ip->i_gl is accessed and dereferenced via RCU helpers like
rcu_dereference_check() and rcu_access_pointer(). However, the
actual i_gl pointer in struct gfs2_inode was never annotated
with __rcu in incore.h.

This missing annotation causes Sparse to throw multiple
"incompatible types in comparison expression (different address spaces)"
warnings and compilation-blocking errors under strict static analysis builds.

Fix this by adding the __rcu annotation to i_gl in struct gfs2_inode.

Signed-off-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
Tested-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
---

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 6146577..16df753 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;


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

end of thread, other threads:[~2026-06-30 10:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-30 10:02 [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h Adrian Garcia Casado
  -- strict thread matches above, loose matches on Subject: below --
2026-06-30  9:55 Adrian Garcia Casado
2026-06-18 13:56 Adrian
2026-06-18 13:56 Adrian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox