* [PATCH] ext4: Fix buffer head ref leaks after calls to ext4_get_inode_loc()
@ 2010-03-22 15:46 Curt Wohlgemuth
2010-04-03 21:44 ` tytso
0 siblings, 1 reply; 2+ messages in thread
From: Curt Wohlgemuth @ 2010-03-22 15:46 UTC (permalink / raw)
To: ext4 development
Fix buffer head reference leaks in ext4_write_inode() and
ext4_xattr_fiemap().
Signed-off-by: Curt Wohlgemuth <curtw@google.com>
---
ext4_get_inode_loc() returns with a reference to the iloc->bh; the two call
sites below do not release this reference.
diff -uprN orig/fs/ext4/extents.c new/fs/ext4/extents.c
--- orig/fs/ext4/extents.c 2010-03-22 08:16:57.000000000 -0700
+++ new/fs/ext4/extents.c 2010-03-22 08:35:40.000000000 -0700
@@ -3879,6 +3879,7 @@ static int ext4_xattr_fiemap(struct inod
physical += offset;
length = EXT4_SB(inode->i_sb)->s_inode_size - offset;
flags |= FIEMAP_EXTENT_DATA_INLINE;
+ brelse(iloc.bh);
} else { /* external block */
physical = EXT4_I(inode)->i_file_acl << blockbits;
length = inode->i_sb->s_blocksize;
diff -uprN orig/fs/ext4/inode.c new/fs/ext4/inode.c
--- orig/fs/ext4/inode.c 2010-03-22 08:16:57.000000000 -0700
+++ new/fs/ext4/inode.c 2010-03-22 08:36:18.000000000 -0700
@@ -5385,6 +5385,7 @@ int ext4_write_inode(struct inode *inode
(unsigned long long)iloc.bh->b_blocknr);
err = -EIO;
}
+ brelse(iloc.bh);
}
return err;
}
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-04-03 21:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-22 15:46 [PATCH] ext4: Fix buffer head ref leaks after calls to ext4_get_inode_loc() Curt Wohlgemuth
2010-04-03 21:44 ` tytso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).