AFAICT this kind of problems are no longer possible since
debugfs gained file removal protection via
e9117a5a4bf6 ("debugfs: implement per-file removal protection").

Cc: Christoph Hellwig <[email protected]>
Cc: Nicolai Stange <[email protected]>
Signed-off-by: Richard Weinberger <[email protected]>
---
 fs/ubifs/debug.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c
index a5f10d79e0dd..d67f91752f83 100644
--- a/fs/ubifs/debug.c
+++ b/fs/ubifs/debug.c
@@ -2737,18 +2737,6 @@ static ssize_t dfs_file_write(struct file *file, const 
char __user *u,
        struct dentry *dent = file->f_path.dentry;
        int val;
 
-       /*
-        * TODO: this is racy - the file-system might have already been
-        * unmounted and we'd oops in this case. The plan is to fix it with
-        * help of 'iterate_supers_type()' which we should have in v3.0: when
-        * a debugfs opened, we rember FS's UUID in file->private_data. Then
-        * whenever we access the FS via a debugfs file, we iterate all UBIFS
-        * superblocks and fine the one with the same UUID, and take the
-        * locking right.
-        *
-        * The other way to go suggested by Al Viro is to create a separate
-        * 'ubifs-debug' file-system instead.
-        */
        if (file->f_path.dentry == d->dfs_dump_lprops) {
                ubifs_dump_lprops(c);
                return count;
-- 
2.16.4

Reply via email to