⬢ DragonFlyBSD Kernel Audit
DF-4211 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/disk/mpt/mpt_raid.c
+++ b/sys/dev/disk/mpt/mpt_raid.c
@@ -1329,7 +1329,12 @@
 	if (rv == ETIMEDOUT) {
 		mpt_vol_prt(mpt, mpt_vol,
 		    "mpt_refresh_raid_vol: Progress Indicator fetch timeout\n");
-		mpt_free_request(mpt, req);
+		/*
+		 * Do NOT free: the request is still queued to the IOC and
+		 * linked on request_pending_list.  The late reply reclaims
+		 * it via mpt_raid_reply_handler(free_req=TRUE), matching
+		 * mpt_verify_mwce()/mpt_verify_resync_rate() above.
+		 */
 		return;
 	}