diff options
author | mav <mav@FreeBSD.org> | 2017-02-21 05:13:16 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2017-02-21 05:13:16 +0000 |
commit | 3a54285b0861ff79dc226ded783148832bd9bde1 (patch) | |
tree | 755850c8e55a9f39c895463dff7ac0056b3abd70 | |
parent | 1377d3fb9ca96a7c507590e2e9e83f9a8d126d15 (diff) | |
download | FreeBSD-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.c | 4 |
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); |