summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJohn Muir <muirj@nortel.com>2007-11-29 01:22:02 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-29 18:24:54 +0100
commitfbee36b92abc965d3fc2862aa60fd0dfcf779d0b (patch)
tree5d59ccb2236110aeb8fddb75c94fc52beaf79e3b /fs
parentfuse: fix FUSE_FILE_OPS sending (diff)
downloadlinux-fbee36b92abc965d3fc2862aa60fd0dfcf779d0b.tar.xz
linux-fbee36b92abc965d3fc2862aa60fd0dfcf779d0b.zip
fuse: fix uninitialized field in fuse_inode
I found problems accessing (executing) previously existing files, until I did chmod on them (or setattr). If the fi->attr_version is not initialized, then it could be larger than fc->attr_version until a setattr is executed, and as a result the inode attributes would never be set. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/fuse/inode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 0cc95eeb9379..84f9f7dfdf5b 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -56,6 +56,7 @@ static struct inode *fuse_alloc_inode(struct super_block *sb)
fi->i_time = 0;
fi->nodeid = 0;
fi->nlookup = 0;
+ fi->attr_version = 0;
INIT_LIST_HEAD(&fi->write_files);
fi->forget_req = fuse_request_alloc();
if (!fi->forget_req) {