fs/jbd2/recovery.c | 1 + 1 file changed, 1 insertion(+)
In fc_do_one_pass() miss release buffer head after use which will lead
to reference count leak.
Signed-off-by: Ye Bin <yebin10@huawei.com>
---
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
On Sat, 17 Sep 2022 17:38:05 +0800, Ye Bin wrote:
> In fc_do_one_pass() miss release buffer head after use which will lead
> to reference count leak.
>
>
Applied, thanks!
[1/1] jbd2: add miss release buffer head in fc_do_one_pass()
commit: 0f04cd3834a988a9c725fd396e3f88fe334f9f29
Best regards,
--
Theodore Ts'o <tytso@mit.edu>
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@huawei.com> Indeed. Good catch! Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> 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@suse.com> SUSE Labs, CR
© 2016 - 2026 Red Hat, Inc.