SpinlockRelease 规则 (wdm)

SpinlockRelease 规则指定对 KeReleaseSpinLock 的调用与 KeAcquireSpinLock 和 KeAcquireSpinLockRaiseToDpc 严格交替进行。 也就是说,驱动程序必须在调用 KeAcquireSpinLockKeAcquireSpinLockRaiseToDpc 之后调用 KeAcquireSpinLockKeAcquireSpinLockRaiseToDpc 之后调用 KeReleaseSpinLock

驱动程序模型:WDM

通过以下规则找到) 的 Bug 检查 (检查 (Bug 检查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION (0x0004000B)

如何测试

编译时

运行 静态驱动程序验证程序 并指定 SpinlockRelease 规则。

使用以下步骤运行代码分析:
  1. 准备代码 (使用角色类型声明) 。
  2. 运行静态驱动程序验证程序。
  3. 查看和分析结果。

有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷

运行时

运行 驱动程序验证程序 并选择“ DDI 符合性检查” (其他) 选项。

适用于

KeAcquireSpinLockKeAcquireSpinLockRaiseTodpcKeReleaseSpinLockKetryToAcquireSpinLockAtdpcLevel