Skip to content

Commit 625b60a

Browse files
author
Delphix Engineering
committed
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
2 parents 281eb59 + 4223d5d commit 625b60a

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

src/kdumpfile/devmem.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,9 @@ devmem_cleanup(struct kdump_shared *shared)
339339
{
340340
struct devmem_priv *dmp = shared->fmtdata;
341341

342+
if (!dmp)
343+
return;
344+
342345
if (dmp->ce) {
343346
free(dmp->ce[0].data);
344347
free(dmp->ce);

src/kdumpfile/diskdump.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,14 +1101,13 @@ open_common(kdump_ctx_t *ctx, void *hdr)
11011101
static void
11021102
init_desc(kdump_ctx_t *ctx, char *desc)
11031103
{
1104-
struct disk_dump_priv *ddp = ctx->shared->fmtdata;
11051104
unsigned fidx, nflat;
11061105

1107-
for (nflat = fidx = 0; fidx < ddp->num_files; ++fidx)
1106+
for (nflat = fidx = 0; fidx < get_num_files(ctx); ++fidx)
11081107
if (flatmap_isflattened(ctx->shared->flatmap, fidx))
11091108
++nflat;
11101109

1111-
if (nflat == ddp->num_files)
1110+
if (nflat == fidx)
11121111
strcpy(desc, "Flattened ");
11131112
else if (nflat)
11141113
strcpy(desc, "Mixed ");
@@ -1128,10 +1127,6 @@ diskdump_probe(kdump_ctx_t *ctx)
11281127
char desc[32];
11291128
kdump_status status;
11301129

1131-
status = init_private(ctx);
1132-
if (status != KDUMP_OK)
1133-
return status;
1134-
11351130
status = flatmap_pread(ctx->shared->flatmap, hdr, sizeof hdr, 0, 0);
11361131
if (status != KDUMP_OK)
11371132
return set_error(ctx, status, "Cannot read dump header");
@@ -1154,6 +1149,10 @@ diskdump_probe(kdump_ctx_t *ctx)
11541149
return set_error(ctx, status, "Cannot set %s",
11551150
"file.description");
11561151

1152+
status = init_private(ctx);
1153+
if (status != KDUMP_OK)
1154+
return status;
1155+
11571156
return open_common(ctx, hdr);
11581157
}
11591158

src/kdumpfile/lkcd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,9 @@ lkcd_cleanup(struct kdump_shared *shared)
10701070
{
10711071
struct lkcd_priv *lkcdp = shared->fmtdata;
10721072

1073+
if (!lkcdp)
1074+
return;
1075+
10731076
free_level1(lkcdp->pfn_level1, lkcdp->l1_size);
10741077
mutex_destroy(&lkcdp->pfn_block_mutex);
10751078
if (lkcdp->cbuf_slot >= 0)

src/kdumpfile/open.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ open_dump(kdump_ctx_t *ctx)
338338
ret = ctx->shared->ops->probe(ctx);
339339
if (ret == KDUMP_OK)
340340
return finish_open_dump(ctx);
341+
if (ctx->shared->ops->cleanup)
342+
ctx->shared->ops->cleanup(ctx->shared);
341343
if (ret != KDUMP_NOPROBE)
342344
return ret;
343345

0 commit comments

Comments
 (0)