jbd2: set to NULL after kmem_cache_destroy

Message ID 1517837957-1636-1-git-send-email-wanglong19@meituan.com
State New
Headers show
Series
  • jbd2: set to NULL after kmem_cache_destroy
Related show

Commit Message

Wang Long Feb. 5, 2018, 1:39 p.m.
Signed-off-by: Wang Long <wanglong19@meituan.com>
---
 fs/jbd2/journal.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Darrick J. Wong Feb. 5, 2018, 5 p.m. | #1
On Mon, Feb 05, 2018 at 09:39:17PM +0800, Wang Long wrote:
> Signed-off-by: Wang Long <wanglong19@meituan.com>
> ---
>  fs/jbd2/journal.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
> index 93016bb..38dc24c 100644
> --- a/fs/jbd2/journal.c
> +++ b/fs/jbd2/journal.c
> @@ -2649,11 +2649,14 @@ static int __init jbd2_journal_init_handle_cache(void)
>  
>  static void jbd2_journal_destroy_handle_cache(void)
>  {
> -	if (jbd2_handle_cache)
> +	if (jbd2_handle_cache) {
>  		kmem_cache_destroy(jbd2_handle_cache);

kmem_cache_destroy already handles null pointers, so you can remove the
conditional test entirely.

--D

> -	if (jbd2_inode_cache)
> +		jbd2_handle_cache = NULL;
> +	}
> +	if (jbd2_inode_cache) {
>  		kmem_cache_destroy(jbd2_inode_cache);
> -
> +		jbd2_inode_cache = NULL;
> +	}
>  }
>  
>  /*
> -- 
> 1.8.3.1
>
Wang Long Feb. 6, 2018, 2:29 a.m. | #2
On 6/2/2018 1:00 AM, Darrick J. Wong wrote:
> On Mon, Feb 05, 2018 at 09:39:17PM +0800, Wang Long wrote:
>> Signed-off-by: Wang Long <wanglong19@meituan.com>
>> ---
>>   fs/jbd2/journal.c | 9 ++++++---
>>   1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
>> index 93016bb..38dc24c 100644
>> --- a/fs/jbd2/journal.c
>> +++ b/fs/jbd2/journal.c
>> @@ -2649,11 +2649,14 @@ static int __init jbd2_journal_init_handle_cache(void)
>>   
>>   static void jbd2_journal_destroy_handle_cache(void)
>>   {
>> -	if (jbd2_handle_cache)
>> +	if (jbd2_handle_cache) {
>>   		kmem_cache_destroy(jbd2_handle_cache);
> kmem_cache_destroy already handles null pointers, so you can remove the
> conditional test entirely.
>
> --D
Thanks, I will send another patch to remove all conditional test in 
module JBD2.
>> -	if (jbd2_inode_cache)
>> +		jbd2_handle_cache = NULL;
>> +	}
>> +	if (jbd2_inode_cache) {
>>   		kmem_cache_destroy(jbd2_inode_cache);
>> -
>> +		jbd2_inode_cache = NULL;
>> +	}
>>   }
>>   
>>   /*
>> -- 
>> 1.8.3.1
>>

Patch

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index 93016bb..38dc24c 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2649,11 +2649,14 @@  static int __init jbd2_journal_init_handle_cache(void)
 
 static void jbd2_journal_destroy_handle_cache(void)
 {
-	if (jbd2_handle_cache)
+	if (jbd2_handle_cache) {
 		kmem_cache_destroy(jbd2_handle_cache);
-	if (jbd2_inode_cache)
+		jbd2_handle_cache = NULL;
+	}
+	if (jbd2_inode_cache) {
 		kmem_cache_destroy(jbd2_inode_cache);
-
+		jbd2_inode_cache = NULL;
+	}
 }
 
 /*