diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-07 12:22:50 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-07 12:22:50 -0500 |
commit | f77637206d7b24d5701715433e8d28da64d8d998 (patch) | |
tree | d0a3efaf90a4ae97b052cbc86f1fa48686e82155 /fs | |
parent | 4c9014f2ca7e5ecf8806e838be0f07aa1810c985 (diff) | |
parent | fef0ebdb229bedce888b63923e2a1ba4e6c6a84c (diff) |
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 regression fixes from Ted Ts'o:
"Bug fixes, including two regressions introduced in v3.8. The most
serious of these regressions is a buffer cache leak."
* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir()
ext4: release buffer in failed path in dx_probe()
ext4: fix configuration dependencies for ext4 ACLs and security labels
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext4/Kconfig | 2 | ||||
-rw-r--r-- | fs/ext4/namei.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/ext4/Kconfig b/fs/ext4/Kconfig index 0a475c881852..987358740cb9 100644 --- a/fs/ext4/Kconfig +++ b/fs/ext4/Kconfig | |||
@@ -41,6 +41,7 @@ config EXT4_USE_FOR_EXT23 | |||
41 | 41 | ||
42 | config EXT4_FS_POSIX_ACL | 42 | config EXT4_FS_POSIX_ACL |
43 | bool "Ext4 POSIX Access Control Lists" | 43 | bool "Ext4 POSIX Access Control Lists" |
44 | depends on EXT4_FS | ||
44 | select FS_POSIX_ACL | 45 | select FS_POSIX_ACL |
45 | help | 46 | help |
46 | POSIX Access Control Lists (ACLs) support permissions for users and | 47 | POSIX Access Control Lists (ACLs) support permissions for users and |
@@ -53,6 +54,7 @@ config EXT4_FS_POSIX_ACL | |||
53 | 54 | ||
54 | config EXT4_FS_SECURITY | 55 | config EXT4_FS_SECURITY |
55 | bool "Ext4 Security Labels" | 56 | bool "Ext4 Security Labels" |
57 | depends on EXT4_FS | ||
56 | help | 58 | help |
57 | Security labels support alternative access control models | 59 | Security labels support alternative access control models |
58 | implemented by security modules like SELinux. This option | 60 | implemented by security modules like SELinux. This option |
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 8990165346ee..f9ed946a448e 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c | |||
@@ -722,7 +722,7 @@ dx_probe(const struct qstr *d_name, struct inode *dir, | |||
722 | ext4_warning(dir->i_sb, "Node failed checksum"); | 722 | ext4_warning(dir->i_sb, "Node failed checksum"); |
723 | brelse(bh); | 723 | brelse(bh); |
724 | *err = ERR_BAD_DX_DIR; | 724 | *err = ERR_BAD_DX_DIR; |
725 | goto fail; | 725 | goto fail2; |
726 | } | 726 | } |
727 | set_buffer_verified(bh); | 727 | set_buffer_verified(bh); |
728 | 728 | ||
@@ -2368,7 +2368,6 @@ static int ext4_init_new_dir(handle_t *handle, struct inode *dir, | |||
2368 | } | 2368 | } |
2369 | 2369 | ||
2370 | inode->i_size = EXT4_I(inode)->i_disksize = blocksize; | 2370 | inode->i_size = EXT4_I(inode)->i_disksize = blocksize; |
2371 | dir_block = ext4_bread(handle, inode, 0, 1, &err); | ||
2372 | if (!(dir_block = ext4_bread(handle, inode, 0, 1, &err))) { | 2371 | if (!(dir_block = ext4_bread(handle, inode, 0, 1, &err))) { |
2373 | if (!err) { | 2372 | if (!err) { |
2374 | err = -EIO; | 2373 | err = -EIO; |