Re: [PATCH -next] jbd2: add miss release buffer head in fc_do_one_pass()

From: Jan Kara
Date: Mon Sep 19 2022 - 08:44:22 EST


On Sat 17-09-22 17:38:05, Ye Bin wrote:
> In fc_do_one_pass() miss release buffer head after use which will lead
> to reference count leak.
>
> Signed-off-by: Ye Bin <yebin10@xxxxxxxxxx>

Indeed. Good catch! Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> fs/jbd2/recovery.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
> index 1f878c315b03..8286a9ec122f 100644
> --- a/fs/jbd2/recovery.c
> +++ b/fs/jbd2/recovery.c
> @@ -261,6 +261,7 @@ static int fc_do_one_pass(journal_t *journal,
> err = journal->j_fc_replay_callback(journal, bh, pass,
> next_fc_block - journal->j_fc_first,
> expected_commit_id);
> + brelse(bh);
> next_fc_block++;
> if (err < 0 || err == JBD2_FC_REPLAY_STOP)
> break;
> --
> 2.31.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR