DragonFlyBSD Kernel Audit
DF-1926 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/tws/tws_hdm.c b/sys/dev/raid/tws/tws_hdm.c
--- a/sys/dev/raid/tws/tws_hdm.c
+++ b/sys/dev/raid/tws/tws_hdm.c
@@ -203,6 +203,9 @@
          */
         TWS_TRACE(sc, "unexpected req_id ", reqid, 0);
         TWS_TRACE(sc, "INITCONNECT FAILED", reqid, 0);
+        lockmgr(&sc->gen_lock, LK_EXCLUSIVE);
+        req->state = TWS_REQ_STATE_FREE;
+        lockmgr(&sc->gen_lock, LK_RELEASE);
         return(FAILURE);
     }
     return(SUCCESS);