diff options
-rw-r--r-- | drivers/md/dm-snap-persistent.c | 14 |
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 | ||
201 | static void free_area(struct pstore *ps) | 201 | static 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 | } |