Regola SpinLock (wdm)
La regola SpinLock specifica che, dopo aver chiamato KeAcquireSpinLock, il driver chiama KeReleaseSpinLock prima delle chiamate successive a KeAcquireSpinLock o a KeAcquireSpinLockRaiseToDpc.
Le chiamate annidate sono consentite se acquisiscono e rilasciano blocchi per risorse diverse. Le chiamate annidate per acquisire o rilasciare blocchi per le stesse risorse violano questa regola.
Questa regola specifica anche che il driver ha usato KeReleaseSpinLock per rilasciare tutti i blocchi di spin prima della routine di invio o annullare la routine.
Modello di driver: WDM
Verifica bug trovata con questa regola: Verifica bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040009 )
Come eseguire il test
In fase di compilazione |
---|
Eseguire il verifica driver statico e specificare la regola SpinLock . Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei driver. |
In fase di esecuzione |
---|
Eseguire il verifica driver e selezionare l'opzione di controllo della conformità DDI . |
Si applica a
KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLockKeTryToAcquireSpinLockAtDpcLevel