[PATCH v2 0/2] NFS: fix RCU and tracing pointer safety
From: Sean Chang
Date: Sun Apr 19 2026 - 06:01:44 EST
This series addresses two Sparse static analysis warnings in the NFS
client related to RCU safety and pointer attributes.
The first patch resolves a "dereferencing noderef expression" warning
within the nfs_page_class tracepoint by removing a redundant __private
attribute that was causing Sparse to complain during trace-buffer
assignments.
The second patch fixes an RCU-unsafe dereference in nfs_compare_super_address.
It wraps cl_xprt access with rcu_read_lock() and rcu_dereference().
Following reviewer feedback, the RCU critical section is kept minimal,
covering only the transport and network namespace checks. An additional
check for XPRT_CONNECTED is included to ensure the transport is logically
active during the comparison.
v2:
- Patch 1: Instead of changing the 'req' field type to unsigned long (as in v1),
simply remove the redundant __private attribute. This resolves the
Sparse warning while preserving the original pointer type.
- Patch 2: Reduced RCU read-side critical section scope to cover only
the necessary transport/net-ns checks, as suggested by reviewers.
Sean Chang (2):
NFS: remove redundant __private attribute from nfs_page_class
NFS: Fix RCU dereference of cl_xprt in nfs_compare_super_address
fs/nfs/nfstrace.h | 2 +-
fs/nfs/super.c | 21 ++++++++++++++++++---
2 files changed, 19 insertions(+), 4 deletions(-)
--
2.43.0