diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2013-10-01 18:44:54 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-10-25 07:41:37 +0400 |
commit | b70a80e7a133a0c86f2fa078e7c144597c516415 (patch) | |
tree | 378dbeeafc1510fb326eda10e1f48085be098f6c /fs/fuse/inode.c | |
parent | 94e92a6e772e009e27083a7f42d49a179e5f668c (diff) | |
download | linux-b70a80e7a133a0c86f2fa078e7c144597c516415.tar.xz |
vfs: introduce d_instantiate_no_diralias()
...which just returns -EBUSY if a directory alias would be created.
This is to be used by fuse mkdir to make sure that a buggy or malicious
userspace filesystem doesn't do anything nasty. Previously fuse used a
private mutex for this purpose, which can now go away.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r-- | fs/fuse/inode.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index a8ce6dab60a0..1c15613c64f8 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -565,7 +565,6 @@ void fuse_conn_init(struct fuse_conn *fc) { memset(fc, 0, sizeof(*fc)); spin_lock_init(&fc->lock); - mutex_init(&fc->inst_mutex); init_rwsem(&fc->killsb); atomic_set(&fc->count, 1); init_waitqueue_head(&fc->waitq); @@ -596,7 +595,6 @@ void fuse_conn_put(struct fuse_conn *fc) if (atomic_dec_and_test(&fc->count)) { if (fc->destroy_req) fuse_request_free(fc->destroy_req); - mutex_destroy(&fc->inst_mutex); fc->release(fc); } } |