fs/jbd: set pointer = NULL, after kfree it.
PATCH 1/1 fs/jbd: set pointer = NULL, after kfree it.
set pointer = NULL, after call journal_destroy_revoke_table.
in journal_destroy_revoke_table, it will call kfree to free the buffer.
Signed-off-by Chen Gang <[email protected]>
--- fs/jbd/revoke.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
fs/jbd/revoke.c +7 -2
@@ -295,6 +295,7 @@ int journal_init_revoke(journal_t *journal, int hash_size) fail1:journal_destroy_revoke_table (journal->j_revoke_table[0 ]); + journal->j_revoke_table[0 ] =NULL ; fail0:return -ENOMEM ; }
@@ -303,10 +304,14 @@ fail0:void journal_destroy_revoke (journal_t *journal) { journal->j_revoke =NULL ; -if (journal->j_revoke_table[0 ]) +if (journal->j_revoke_table[0 ]) {journal_destroy_revoke_table (journal->j_revoke_table[0 ]); -if (journal->j_revoke_table[1 ]) + journal->j_revoke_table[0 ] =NULL ; + } +if (journal->j_revoke_table[1 ]) {journal_destroy_revoke_table (journal->j_revoke_table[1 ]); + journal->j_revoke_table[1 ] =NULL ; + } }
Signature · 1 line
1.7.10.4
Quoted 3 lines · Chen Gang
set pointer = NULL, after call
journal_destroy_revoke_table.
injournal_destroy_revoke_table, it will call kfree to free the buffer.
The journal structure will get freed immediately after we return fromjournal_init_revoke() (in case it failed) or journal_destroy_revoke() so I don't see a point in setting the pointers to NULL. Or do I miss something?
Honza
Quoted 37 lines
Signed-off-by Chen Gang <[email protected]>--- fs/jbd/revoke.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)fs/jbd/revoke.c +7
-2@@ -295,6 +295,7 @@ int journal_init_revoke(journal_t *journal, int hash_size) fail1:journal_destroy_revoke_table (journal->j_revoke_table[0 ]); + journal->j_revoke_table[0 ] =NULL ; fail0:return -ENOMEM ; }@@ -303,10 +304,14 @@ fail0:void journal_destroy_revoke (journal_t *journal) { journal->j_revoke =NULL ; -if (journal->j_revoke_table[0 ]) +if (journal->j_revoke_table[0 ]) {journal_destroy_revoke_table (journal->j_revoke_table[0 ]); -if (journal->j_revoke_table[1 ]) + journal->j_revoke_table[0 ] =NULL ; + } +if (journal->j_revoke_table[1 ]) {journal_destroy_revoke_table (journal->j_revoke_table[1 ]); + journal->j_revoke_table[1 ] =NULL ; + } }Signature · 1 line
1.7.10.4
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR