]> git.baikalelectronics.ru Git - kernel.git/commit
debugfs: leave freeing a symlink body until inode eviction
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 22 Feb 2015 03:05:11 +0000 (22:05 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 22 Feb 2015 16:38:43 +0000 (11:38 -0500)
commit055ff8ef34bc3c32af46a0b2e0fb64c599852642
tree4354f66cf8b6ec6c36968ba63ea9e037d0a6dcbd
parent940b9de1f65e6691b7e3046a27f24cac6efe2a56
debugfs: leave freeing a symlink body until inode eviction

As it is, we have debugfs_remove() racing with symlink traversals.
Supply ->evict_inode() and do freeing there - inode will remain
pinned until we are done with the symlink body.

And rip the idiocy with checking if dentry is positive right after
we'd verified debugfs_positive(), which is a stronger check...

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/debugfs/inode.c