Messages in this thread Patch in this message | | | From | Nicolai Stange <> | Subject | [RFC PATCH 3/9] debugfs: debugfs_real_fops(): drop __must_hold sparse annotation | Date | Sun, 16 Apr 2017 11:51:31 +0200 |
| |
Currently, debugfs_real_fops() is annotated with a __must_hold(&debugfs_srcu) sparse annotation.
With the conversion of the SRCU based protection of users against concurrent file removals to a per-file refcount based scheme, this becomes wrong.
Drop this annotation.
Signed-off-by: Nicolai Stange <nicstange@gmail.com> --- fs/debugfs/file.c | 6 +----- include/linux/debugfs.h | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index 081d74d390a6..3bc3e2e69f80 100644 --- a/fs/debugfs/file.c +++ b/fs/debugfs/file.c @@ -98,13 +98,9 @@ EXPORT_SYMBOL_GPL(debugfs_use_file_finish); #define F_DENTRY(filp) ((filp)->f_path.dentry) const struct file_operations *debugfs_real_fops(const struct file *filp) - __must_hold(&debugfs_srcu) { struct debugfs_fsdata *fsd = F_DENTRY(filp)->d_fsdata; - /* - * Neither the pointer to the struct file_operations, nor its - * contents ever change -- srcu_dereference() is not needed here. - */ + return fsd->real_fops; } EXPORT_SYMBOL_GPL(debugfs_real_fops); diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h index d1f1104c41ee..c65ff61b498c 100644 --- a/include/linux/debugfs.h +++ b/include/linux/debugfs.h @@ -95,8 +95,7 @@ int debugfs_use_file_start(const struct dentry *dentry, int *srcu_idx) void debugfs_use_file_finish(int srcu_idx) __releases(&debugfs_srcu); -const struct file_operations *debugfs_real_fops(const struct file *filp) - __must_hold(&debugfs_srcu); +const struct file_operations *debugfs_real_fops(const struct file *filp); int debugfs_file_get(struct dentry *dentry); void debugfs_file_put(struct dentry *dentry); -- 2.12.2
| |