Skip to content

Commit

Permalink
jbd: replace potentially false assertion with if block
Browse files Browse the repository at this point in the history
If an error occurs during jbd cache initialisation it is possible for the
journal_head_cache to be NULL when journal_destroy_journal_head_cache is
called.  Replace the J_ASSERT with an if block to handle the situation
correctly.

Note that even with this fix things will break badly if jbd is statically
compiled in and cache initialisation fails.

Signed-off-by: Duane Griffin <[email protected]
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
duaneg authored and torvalds committed Jul 25, 2008
1 parent d06bf1d commit 3850f7a
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions fs/jbd/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1636,9 +1636,10 @@ static int journal_init_journal_head_cache(void)

static void journal_destroy_journal_head_cache(void)
{
J_ASSERT(journal_head_cache != NULL);
kmem_cache_destroy(journal_head_cache);
journal_head_cache = NULL;
if (journal_head_cache) {
kmem_cache_destroy(journal_head_cache);
journal_head_cache = NULL;
}
}

/*
Expand Down

0 comments on commit 3850f7a

Please sign in to comment.