SpinLock 규칙(wdm)
SpinLock 규칙은 KeAcquireSpinLock을 호출한 후 드라이버가 KeAcquireSpinLock 또는 KeAcquireSpinLockRaiseToDpc에 대한 후속 호출 전에 KeReleaseSpinLock을 호출하도록 지정합니다.
중첩 호출은 다른 리소스에 대한 잠금을 획득하고 해제하는 경우 허용됩니다. 동일한 리소스에 대한 잠금을 획득하거나 해제하는 중첩된 호출은 이 규칙을 위반합니다.
또한 이 규칙은 드라이버가 KeReleaseSpinLock 을 사용하여 디스패치 루틴 또는 취소 루틴이 끝나기 전에 모든 스핀 잠금을 해제하도록 지정합니다.
드라이버 모델: WDM
버그 검사 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION(0x00040009) 규칙으로 발견된 버그 검사
테스트 방법
컴파일 시 |
---|
정적 드라이버 검증 도구를 실행하고 SpinLock 규칙을 지정합니다. 다음 단계를 사용하여 코드 분석을 실행합니다. |
런타임 시 |
---|
드라이버 검증 도구를 실행하고 DDI 규정 준수 확인 옵션을 선택합니다. |
적용 대상
KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLockKeTryToAcquireSpinLockAtDpcLevel