Whamcloud - gitweb
LU-15308 lod: set ldo_mirrors to NULL on error 08/47008/2
authorJohn L. Hammond <jhammond@whamcloud.com>
Wed, 6 Apr 2022 16:51:47 +0000 (11:51 -0500)
committerOleg Drokin <green@whamcloud.com>
Sat, 11 Jun 2022 05:54:57 +0000 (05:54 +0000)
In lod_alloc_comp_entries() if OBD_ALLOC_LARGE fails and we free
ldo_mirrors then we set it to NULL to avoid a double free later.

Test-Parameters: trivial
Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: I27552d1eaecc06720190db9cfe89ded71b9fef53
Reviewed-on: https://review.whamcloud.com/47008
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
lustre/lod/lod_lov.c

index d2636c0..8d87e4d 100644 (file)
@@ -580,6 +580,7 @@ int lod_alloc_comp_entries(struct lod_object *lo,
                        sizeof(*lo->ldo_comp_entries) * comp_count);
        if (lo->ldo_comp_entries == NULL) {
                OBD_FREE_PTR_ARRAY(lo->ldo_mirrors, mirror_count);
+               lo->ldo_mirrors = NULL;
                lo->ldo_mirror_count = 0;
                return -ENOMEM;
        }