dm snapshot: fix a possible invalid memory access on unload
[firefly-linux-kernel-4.4.55.git] / drivers / md / dm-snap-persistent.c
index d6e88178d22cff0e88fb8b21cb20558f51e8d6a1..808b8419bc48d42423d750eb64d178bfa77509e5 100644 (file)
@@ -200,16 +200,11 @@ err_area:
 
 static void free_area(struct pstore *ps)
 {
-       if (ps->area)
-               vfree(ps->area);
+       vfree(ps->area);
        ps->area = NULL;
-
-       if (ps->zero_area)
-               vfree(ps->zero_area);
+       vfree(ps->zero_area);
        ps->zero_area = NULL;
-
-       if (ps->header_area)
-               vfree(ps->header_area);
+       vfree(ps->header_area);
        ps->header_area = NULL;
 }
 
@@ -605,8 +600,7 @@ static void persistent_dtr(struct dm_exception_store *store)
        free_area(ps);
 
        /* Allocated in persistent_read_metadata */
-       if (ps->callbacks)
-               vfree(ps->callbacks);
+       vfree(ps->callbacks);
 
        kfree(ps);
 }