linux/fs/ext4
Curt Wohlgemuth 6487a9d3b5 ext4: More buffer head reference leaks
After the patch I posted last week regarding buffer head ref leaks in
no-journal mode, I looked at all the code that uses buffer heads and
searched for more potential leaks.

The patch below fixes the issues I found; these can occur even when a
journal is present.

The change to inode.c fixes a double release if
ext4_journal_get_create_access() fails.

The changes to namei.c are more complicated.  add_dirent_to_buf() will
release the input buffer head EXCEPT when it returns -ENOSPC.  There are
some callers of this routine that don't always do the brelse() in the event
that -ENOSPC is returned.  Unfortunately, to put this fix into ext4_add_entry()
required capturing the return value of make_indexed_dir() and
add_dirent_to_buf().

Signed-off-by: Curt Wohlgemuth <curtw@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2009-07-17 10:54:08 -04:00
..
acl.c ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext4: Convert ext4_lock_group to use sb_bgl_lock 2009-05-02 20:35:09 -04:00
bitmap.c ext4: Change unsigned long to unsigned int 2008-11-05 00:14:04 -05:00
block_validity.c ext4: Add a comprehensive block validity check to ext4_get_blocks() 2009-05-17 15:38:01 -04:00
dir.c ext4: Define a new set of flags for ext4_get_blocks() 2009-05-14 00:58:52 -04:00
ext4_extents.h ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl 2009-06-17 19:24:03 -04:00
ext4_jbd2.c ext4: Fix buffer head reference leak in no-journal mode 2009-07-13 09:07:20 -04:00
ext4_jbd2.h ext4: Fix buffer head reference leak in no-journal mode 2009-07-13 09:07:20 -04:00
ext4.h switch ext4 to inode->i_acl 2009-06-24 08:17:04 -04:00
extents.c ext4: Calculate required journal credits for inserting an extent properly 2009-07-05 23:12:04 -04:00
file.c ext4: Remove syncing logic from ext4_file_write 2009-09-14 17:08:16 +02:00
fsync.c ext4: convert instrumentation from markers to tracepoints 2009-06-17 11:48:11 -04:00
hash.c ext4: Add support for non-native signed/unsigned htree hash algorithms 2008-10-28 13:21:44 -04:00
ialloc.c ext4: Fix goal inum check in the inode allocator 2009-07-05 23:45:11 -04:00
inode.c ext4: More buffer head reference leaks 2009-07-17 10:54:08 -04:00
ioctl.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2009-07-13 16:39:25 -07:00
Kconfig ext4: Fix typo in ext4/Kconfig 2009-07-27 21:38:17 -04:00
Makefile ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl 2009-06-17 19:24:03 -04:00
mballoc.c ext4: Fix memory leak fix when mounting an ext4 filesystem 2009-07-17 09:01:04 -04:00
mballoc.h ext4: Move fs/ext4/group.h into ext4.h 2009-05-01 19:44:44 -04:00
migrate.c ext4: teach the inode allocator to use a goal inode number 2009-06-13 11:45:35 -04:00
move_extent.c ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl 2009-06-17 19:24:03 -04:00
namei.c ext4: More buffer head reference leaks 2009-07-17 10:54:08 -04:00
resize.c block: rename CONFIG_LBD to CONFIG_LBDAF 2009-06-19 08:08:50 +02:00
super.c ext4: Avoid null pointer dereference when decoding EROFS w/o a journal 2009-07-27 23:09:47 -04:00
symlink.c ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c ext4: Use lowercase names of quota functions 2009-03-26 02:18:36 +01:00
xattr.h ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00