summaryrefslogtreecommitdiffstats
path: root/fs/logfs/inode.c
diff options
context:
space:
mode:
authorJoern Engel <joern@logfs.org>2010-05-01 17:00:34 +0200
committerJoern Engel <joern@logfs.org>2010-05-01 18:02:34 +0200
commitccc0197b02178f7e1707e659cbc5242fc94b499a (patch)
tree6cba753c7e2c480123856275fb06845d86ac5a44 /fs/logfs/inode.c
parentbd2b3f29594c50d7c5bd864d9af05d440394ee82 (diff)
downloadlinux-ccc0197b02178f7e1707e659cbc5242fc94b499a.tar.gz
linux-ccc0197b02178f7e1707e659cbc5242fc94b499a.tar.bz2
linux-ccc0197b02178f7e1707e659cbc5242fc94b499a.zip
logfs: Close i_ino reuse race
logfs_seek_hole() may return the same offset it is passed as argument. Found by Prasad Joshi <prasadjoshi124@gmail.com> Signed-off-by: Joern Engel <joern@logfs.org>
Diffstat (limited to 'fs/logfs/inode.c')
-rw-r--r--fs/logfs/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/logfs/inode.c b/fs/logfs/inode.c
index 14ed27274da2..45bf86f1595a 100644
--- a/fs/logfs/inode.c
+++ b/fs/logfs/inode.c
@@ -326,7 +326,7 @@ static void logfs_set_ino_generation(struct super_block *sb,
u64 ino;
mutex_lock(&super->s_journal_mutex);
- ino = logfs_seek_hole(super->s_master_inode, super->s_last_ino);
+ ino = logfs_seek_hole(super->s_master_inode, super->s_last_ino + 1);
super->s_last_ino = ino;
super->s_inos_till_wrap--;
if (super->s_inos_till_wrap < 0) {