summaryrefslogtreecommitdiffstats
path: root/fs/fuse/inode.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-10-03 21:21:39 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-10-24 23:45:13 -0400
commitdd3e2c55a45fe75f3213b17b74f9a32380f4e84b (patch)
treee422d9dda0c7e3bde8bb0fa7026730ef7b0a96f4 /fs/fuse/inode.c
parent1adfcb03e31ba0d6be5fddf773da4357d0792cbb (diff)
downloadlinux-dd3e2c55a45fe75f3213b17b74f9a32380f4e84b.tar.gz
linux-dd3e2c55a45fe75f3213b17b74f9a32380f4e84b.tar.bz2
linux-dd3e2c55a45fe75f3213b17b74f9a32380f4e84b.zip
fuse: rcu-delay freeing fuse_conn
makes ->permission() and ->d_revalidate() safety in RCU mode independent from vfsmount_lock. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r--fs/fuse/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 1c15613c64f8..d468643a68b2 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -918,7 +918,7 @@ static void fuse_send_init(struct fuse_conn *fc, struct fuse_req *req)
static void fuse_free_conn(struct fuse_conn *fc)
{
- kfree(fc);
+ kfree_rcu(fc, rcu);
}
static int fuse_bdi_init(struct fuse_conn *fc, struct super_block *sb)