Regola SpinLockSafe (wdm)
La regola SpinLockSafe specifica che IoStartNextPacket e IoCompleteRequest non vengono chiamati durante la conservazione di un blocco di spin.
Questa regola specifica anche che il driver chiama KeAcquireSpinLock o KeAcquireSpinLockAtDpcLevel prima di chiamare KeReleaseSpinLockFromDpcLevel o KeReleaseSpinLock e che chiama IoAcquireCancelSpinLock prima di chiamare IoReleaseCancelSpinLock.
Il verificatore driver statico può segnalare violazioni false di questa regola se il driver include SpinLock annidati, anche se tali blocchi di spin vengono acquisiti e rilasciati correttamente.
Modello di driver: WDM
Come eseguire il test
In fase di compilazione |
---|
Eseguire il verifica driver statico e specificare la regola SpinLockSafe . 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. |
Si applica a
IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock