Règle QueuedSpinLock (wdm)
La règle QueuedSpinLock spécifie que le pilote appelle KeAcquireInStackQueuedSpinLock avant d’appeler KeReleaseInStackQueuedSpinLock et que le pilote appelle KeReleaseInStackQueuedSpinLock avant tout appel ultérieur à KeAcquireInStackQueuedSpinLock.
Les appels imbriqués sont autorisés s’ils acquièrent et libèrent des ressources différentes. Les appels imbriqués pour acquérir ou libérer les mêmes ressources violent cette règle.
Cette règle spécifie également que le pilote a appelé KeReleaseInStackQueuedSpinLock pour libérer tous les verrous de rotation en file d’attente avant la fin de la routine de répartition ou de la routine d’annulation.
Modèle de pilote : WDM
Bogues case activée trouvés avec cette règle : 0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040006)
Comment tester
Au moment de la compilation |
---|
Exécutez Static Driver Verifier et spécifiez la règle QueuedSpinLock . Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes. |
Au moment de l'exécution |
---|
Exécutez Driver Verifier et sélectionnez l’option de vérification de conformité DDI . |
S’applique à
KeAcquireInStackQueuedSpinLockKeReleaseInStackQueuedSpinLock
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour