diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2009-05-13 15:13:42 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-05-13 15:13:42 -0400 |
commit | 79ffab34391933ee3b95dac7f25c0478fa2f8f1e (patch) | |
tree | 8bc139928e172ef2ebd38e01f97dc01f886d8526 /fs/ext4/extents.c | |
parent | 9fa7eb283c5cdc2b0f4a8cfe6387ed82e5e9a3d3 (diff) |
ext4: Properly initialize the buffer_head state
These struct buffer_heads are allocated on the stack (and hence are
initialized with stack garbage). They are only used to call a
get_blocks() function, so that's mostly OK, but b_state must be
initialized to be 0 so we don't have any unexpected BH_* flags set by
accident, such as BH_Unwritten or BH_Delay.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r-- | fs/ext4/extents.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index e3a55eb8b26a..a953214f2829 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -3150,6 +3150,7 @@ retry: | |||
3150 | ret = PTR_ERR(handle); | 3150 | ret = PTR_ERR(handle); |
3151 | break; | 3151 | break; |
3152 | } | 3152 | } |
3153 | map_bh.b_state = 0; | ||
3153 | ret = ext4_get_blocks_wrap(handle, inode, block, | 3154 | ret = ext4_get_blocks_wrap(handle, inode, block, |
3154 | max_blocks, &map_bh, | 3155 | max_blocks, &map_bh, |
3155 | EXT4_CREATE_UNINITIALIZED_EXT, 0, 0); | 3156 | EXT4_CREATE_UNINITIALIZED_EXT, 0, 0); |