summaryrefslogtreecommitdiffstats
path: root/fs
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
parentbd2b3f29594c50d7c5bd864d9af05d440394ee82 (diff)
downloadop-kernel-dev-ccc0197b02178f7e1707e659cbc5242fc94b499a.zip
op-kernel-dev-ccc0197b02178f7e1707e659cbc5242fc94b499a.tar.gz
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')
-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 14ed272..45bf86f 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) {
OpenPOWER on IntegriCloud