Regra SpinLockSafe (wdm)
A regra SpinLockSafe especifica que IoStartNextPacket e IoCompleteRequest não são chamados enquanto mantêm um bloqueio de rotação.
Essa regra também especifica que o driver chama KeAcquireSpinLock ou KeAcquireSpinLockAtDpcLevel antes de chamar KeReleaseSpinLockFromDpcLevel ou KeReleaseSpinLock e que ele chama IoAcquireCancelSpinLock antes de chamar IoReleaseCancelSpinLock.
O Verificador de Driver Estático poderá relatar falsas violações dessa regra se o driver incluir SpinLocks aninhados, mesmo que esses bloqueios de rotação sejam adquiridos e liberados corretamente.
Modelo de driver: WDM
Como testar
Em tempo de compilação |
---|
Execute o Verificador de Driver Estático e especifique a regra SpinLockSafe . Use as seguintes etapas para executar uma análise do código:
Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers. |
Aplica-se a
IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de