⬢ DragonFlyBSD Kernel Audit
DF-3877 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/raid/mfi/mfi.c
+++ b/sys/dev/raid/mfi/mfi.c
@@ -2624,8 +2624,10 @@ mfi_check_command_post(struct mfi_softc *sc, struct mfi_command *cm)
 	switch (cm->cm_frame->dcmd.opcode) {
 	case MFI_DCMD_LD_DELETE:
 		TAILQ_FOREACH(ld, &sc->mfi_ld_tqh, ld_link) {
 			if (ld->ld_id == cm->cm_frame->dcmd.mbox[0])
 				break;
 		}
-		KASSERT(ld != NULL, ("volume dissappeared"));
+		if (ld == NULL)
+			break;	/* volume removed by AEN while DCMD was in flight */
 		if (cm->cm_frame->header.cmd_status == MFI_STAT_OK) {