lkml.org 
[lkml]   [2022]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6.0 148/862] ext4: update state->fc_regions_size after successful memory allocation
    Date
    From: Ye Bin <yebin10@huawei.com>

    commit 27cd49780381c6ccbf248798e5e8fd076200ffba upstream.

    To avoid to 'state->fc_regions_size' mismatch with 'state->fc_regions'
    when fail to reallocate 'fc_reqions',only update 'state->fc_regions_size'
    after 'state->fc_regions' is allocated successfully.

    Cc: stable@kernel.org
    Signed-off-by: Ye Bin <yebin10@huawei.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Link: https://lore.kernel.org/r/20220921064040.3693255-4-yebin10@huawei.com
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/ext4/fast_commit.c | 9 +++++----
    1 file changed, 5 insertions(+), 4 deletions(-)

    --- a/fs/ext4/fast_commit.c
    +++ b/fs/ext4/fast_commit.c
    @@ -1689,14 +1689,15 @@ int ext4_fc_record_regions(struct super_
    if (state->fc_regions_used == state->fc_regions_size) {
    struct ext4_fc_alloc_region *fc_regions;

    - state->fc_regions_size +=
    - EXT4_FC_REPLAY_REALLOC_INCREMENT;
    fc_regions = krealloc(state->fc_regions,
    - state->fc_regions_size *
    - sizeof(struct ext4_fc_alloc_region),
    + sizeof(struct ext4_fc_alloc_region) *
    + (state->fc_regions_size +
    + EXT4_FC_REPLAY_REALLOC_INCREMENT),
    GFP_KERNEL);
    if (!fc_regions)
    return -ENOMEM;
    + state->fc_regions_size +=
    + EXT4_FC_REPLAY_REALLOC_INCREMENT;
    state->fc_regions = fc_regions;
    }
    region = &state->fc_regions[state->fc_regions_used++];

    \
     
     \ /
      Last update: 2022-10-19 14:22    [W:2.403 / U:23.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site