SpinLockSafe ルール (wdm)
SpinLockSafe ルールは、スピン ロックを保持しているときに IoStartNextPacket と IoCompleteRequest が呼び出されないことを指定します。
この規則では、ドライバーが KeReleaseSpinLock または KeAcquireSpinLockAtDpcLevel を呼び出す前に KeReleaseSpinLockFromDpcLevel または KeReleaseSpinLock を呼び出し、 IoReleaseCancelSpinLock を呼び出す前にIoAcquireCancelSpinLock を呼び出すことも指定します。
静的ドライバー検証ツールは、ドライバーに入れ子になった SpinLock が含まれている場合、これらのスピン ロックが取得され、正しく解放された場合でも、この規則の誤った違反を報告できます。
ドライバーモデル: WDM
テスト方法
コンパイル時 |
---|
静的ドライバー検証 を実行し、 SpinLockSafe 規則を指定します。 コードの分析を実行するには、次の手順に従います。詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。 |
適用対象
IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock