aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/dm-snap-persistent.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/md/dm-snap-persistent.c b/drivers/md/dm-snap-persistent.c
index d6e88178d22c..808b8419bc48 100644
--- a/drivers/md/dm-snap-persistent.c
+++ b/drivers/md/dm-snap-persistent.c
@@ -200,16 +200,11 @@ err_area:
200 200
201static void free_area(struct pstore *ps) 201static void free_area(struct pstore *ps)
202{ 202{
203 if (ps->area) 203 vfree(ps->area);
204 vfree(ps->area);
205 ps->area = NULL; 204 ps->area = NULL;
206 205 vfree(ps->zero_area);
207 if (ps->zero_area)
208 vfree(ps->zero_area);
209 ps->zero_area = NULL; 206 ps->zero_area = NULL;
210 207 vfree(ps->header_area);
211 if (ps->header_area)
212 vfree(ps->header_area);
213 ps->header_area = NULL; 208 ps->header_area = NULL;
214} 209}
215 210
@@ -605,8 +600,7 @@ static void persistent_dtr(struct dm_exception_store *store)
605 free_area(ps); 600 free_area(ps);
606 601
607 /* Allocated in persistent_read_metadata */ 602 /* Allocated in persistent_read_metadata */
608 if (ps->callbacks) 603 vfree(ps->callbacks);
609 vfree(ps->callbacks);
610 604
611 kfree(ps); 605 kfree(ps);
612} 606}