summaryrefslogtreecommitdiffstats
path: root/fs/fuse/cuse.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/cuse.c
parent1adfcb03e31ba0d6be5fddf773da4357d0792cbb (diff)
downloadlinux-0-day-dd3e2c55a45fe75f3213b17b74f9a32380f4e84b.tar.gz
linux-0-day-dd3e2c55a45fe75f3213b17b74f9a32380f4e84b.tar.xz
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/cuse.c')
-rw-r--r--fs/fuse/cuse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c
index adbfd66b380f6..8ca88d716dd39 100644
--- a/fs/fuse/cuse.c
+++ b/fs/fuse/cuse.c
@@ -473,7 +473,7 @@ err:
static void cuse_fc_release(struct fuse_conn *fc)
{
struct cuse_conn *cc = fc_to_cc(fc);
- kfree(cc);
+ kfree_rcu(cc, fc.rcu);
}
/**