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; |
