On 2024/5/6 22:17, Kemeng Shi wrote: > The new_bh is from alloc_buffer_head, we should call free_buffer_head to > free it in error case. Oh, yeah, this is a separate bh, so it should be freed explicitly, it looks good to me. Reviewed-by: Zhang Yi <yi.zhang@xxxxxxxxxx> > > Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> > --- > fs/jbd2/journal.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c > index b6c114c11b97..207b24e12ce9 100644 > --- a/fs/jbd2/journal.c > +++ b/fs/jbd2/journal.c > @@ -399,6 +399,7 @@ int jbd2_journal_write_metadata_buffer(transaction_t *transaction, > tmp = jbd2_alloc(bh_in->b_size, GFP_NOFS); > if (!tmp) { > brelse(new_bh); > + free_buffer_head(new_bh); > return -ENOMEM; > } > spin_lock(&jh_in->b_state_lock); >