diff options
author | Curt Wohlgemuth <curtw@google.com> | 2009-07-17 18:54:08 +0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-07-17 18:54:08 +0400 |
commit | 6487a9d3b5476ffd1bbbe97e58cf26dbeb7a5d4a (patch) | |
tree | 6f03532934774f847e281a9eb52fbf539b36f42b /fs/ext4/mballoc.c | |
parent | f6f50e28f0cb8d7bcdfaacc83129f005dede11b1 (diff) | |
download | linux-6487a9d3b5476ffd1bbbe97e58cf26dbeb7a5d4a.tar.xz |
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>
Diffstat (limited to 'fs/ext4/mballoc.c')
0 files changed, 0 insertions, 0 deletions