SpinLockSafe 規則 (wdm)
SpinLockSafe 規則指定在按住微調鎖定時,不會呼叫 IoStartNextPacket 和 IoCompleteRequest。
此規則也會指定驅動程式先呼叫 KeAcquireSpinLock 或 KeAcquireSpinLockAtDpcLevel,再呼叫 KeReleaseSpinLockFromDpcLevel 或 KeReleaseSpinLock,並在呼叫 IoReleaseCancelSpinLock 之前先呼叫 IoAcquireCancelSpinLock。
如果驅動程式包含巢狀 SpinLocks,靜態驅動程式驗證器可以報告此規則的誤判違規,即使取得並正確釋放這些微調鎖定也一樣。
驅動程式模型:WDM
測試方法
在編譯時期 |
---|
執行 靜態驅動程式驗證程式 ,並指定 SpinLockSafe 規則。 使用下列步驟來執行程式碼的分析:如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵。 |
適用於
IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock