diff options
author | Joern Engel <joern@logfs.org> | 2010-05-01 17:00:34 +0200 |
---|---|---|
committer | Joern Engel <joern@logfs.org> | 2010-05-01 18:02:34 +0200 |
commit | ccc0197b02178f7e1707e659cbc5242fc94b499a (patch) | |
tree | 6cba753c7e2c480123856275fb06845d86ac5a44 /fs | |
parent | bd2b3f29594c50d7c5bd864d9af05d440394ee82 (diff) | |
download | op-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.c | 2 |
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) { |