summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2017-02-21 05:13:16 +0000
committermav <mav@FreeBSD.org>2017-02-21 05:13:16 +0000
commit3a54285b0861ff79dc226ded783148832bd9bde1 (patch)
tree755850c8e55a9f39c895463dff7ac0056b3abd70
parent1377d3fb9ca96a7c507590e2e9e83f9a8d126d15 (diff)
downloadFreeBSD-src-3a54285b0861ff79dc226ded783148832bd9bde1.zip
FreeBSD-src-3a54285b0861ff79dc226ded783148832bd9bde1.tar.gz
MFC r313736: Fix panic on shutdown of ramdisk LU with zero capacity.
-rw-r--r--sys/cam/ctl/ctl_backend_ramdisk.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cam/ctl/ctl_backend_ramdisk.c b/sys/cam/ctl/ctl_backend_ramdisk.c
index b743bc6..ba3fa1c 100644
--- a/sys/cam/ctl/ctl_backend_ramdisk.c
+++ b/sys/cam/ctl/ctl_backend_ramdisk.c
@@ -1120,8 +1120,10 @@ ctl_backend_ramdisk_create(struct ctl_be_ramdisk_softc *softc,
STAILQ_INIT(&be_lun->cont_queue);
sx_init(&be_lun->page_lock, "cram page lock");
- if (be_lun->cap_bytes == 0)
+ if (be_lun->cap_bytes == 0) {
+ be_lun->indir = 0;
be_lun->pages = malloc(be_lun->pblocksize, M_RAMDISK, M_WAITOK);
+ }
be_lun->zero_page = malloc(be_lun->pblocksize, M_RAMDISK,
M_WAITOK|M_ZERO);
mtx_init(&be_lun->queue_lock, "cram queue lock", NULL, MTX_DEF);
OpenPOWER on IntegriCloud