aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorImran Khan <[email protected]>2022-06-15 12:10:56 +1000
committerGreg Kroah-Hartman <[email protected]>2022-06-27 16:46:14 +0200
commit086c00c71fc8d47db6983f419a45f9ee167de03f (patch)
treeef0bf228f242f95a33a07088a2a811264cfa6c03 /include/linux
parentdcab8da13ff4886aab26348b925d20dca4f12bac (diff)
kernfs: make ->attr.open RCU protected.
After removal of kernfs_open_node->refcnt in the previous patch, kernfs_open_node_lock can be removed as well by making ->attr.open RCU protected. kernfs_put_open_node can delegate freeing to ->attr.open to RCU and other readers of ->attr.open can do so under rcu_read_(un)lock. Suggested by: Al Viro <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Imran Khan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/kernfs.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index e2ae15a6225e..13f54f078a52 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -114,7 +114,7 @@ struct kernfs_elem_symlink {
struct kernfs_elem_attr {
const struct kernfs_ops *ops;
- struct kernfs_open_node *open;
+ struct kernfs_open_node __rcu *open;
loff_t size;
struct kernfs_node *notify_next; /* for kernfs_notify() */
};