summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-10-29 13:20:22 +0100
committerChristian Brauner <brauner@kernel.org>2025-11-03 17:41:16 +0100
commit6b053576edb12c7739ea9c7c9900031361922631 (patch)
tree804b5b71a4efa0444c61065e91de9b11ddc10e85
parent3dd50c58664e2684bd610a57bf3ab713cbb0ea91 (diff)
ns: add __ns_ref_read()
Implement ns_ref_read() the same way as ns_ref_{get,put}(). No point in making that any more special or different from the other helpers. Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-9-2e6f823ebdc0@kernel.org Tested-by: syzbot@syzkaller.appspotmail.com Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--include/linux/ns_common.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/ns_common.h b/include/linux/ns_common.h
index 71a5e28344d1..5e09facafd93 100644
--- a/include/linux/ns_common.h
+++ b/include/linux/ns_common.h
@@ -154,7 +154,12 @@ static __always_inline __must_check bool __ns_ref_get(struct ns_common *ns)
return refcount_inc_not_zero(&ns->__ns_ref);
}
-#define ns_ref_read(__ns) refcount_read(&to_ns_common((__ns))->__ns_ref)
+static __always_inline __must_check int __ns_ref_read(const struct ns_common *ns)
+{
+ return refcount_read(&ns->__ns_ref);
+}
+
+#define ns_ref_read(__ns) __ns_ref_read(to_ns_common((__ns)))
#define ns_ref_inc(__ns) refcount_inc(&to_ns_common((__ns))->__ns_ref)
#define ns_ref_get(__ns) __ns_ref_get(to_ns_common((__ns)))
#define ns_ref_put(__ns) __ns_ref_put(to_ns_common((__ns)))