Bagikan melalui


Aturan SpinlockRelease (wdm)

Aturan SpinlockRelease menentukan bahwa panggilan ke KeReleaseSpinLock dilakukan secara bergantian ketat dengan KeAcquireSpinLock dan KeAcquireSpinLockRaiseToDpc. Artinya, driver harus memanggil KeReleaseSpinLock setelah memanggil KeAcquireSpinLock atau KeAcquireSpinLockRaiseToDpc dan sebelum panggilan berikutnya ke KeAcquireSpinLock atau ke KeAcquireSpinLockRaiseToDpc.

Model driver: WDM

Pemeriksaan bug ditemukan dengan aturan ini: Pemeriksaan Bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x0004000B)

Cara menguji

Pada waktu kompilasi

Jalankan Pemverifikasi Driver Statis dan tentukan aturan SpinlockRelease .

Gunakan langkah-langkah berikut untuk menjalankan analisis kode Anda:
  1. Siapkan kode Anda (gunakan deklarasi jenis peran).
  2. Jalankan Pemverifikasi Driver Statis.
  3. Lihat dan analisis hasilnya.

Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver.

Pada durasi

Jalankan Pemverifikasi Driver dan pilih opsi pemeriksaan kepatuhan DDI (tambahan).

Berlaku untuk

KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLockKeTryToAcquireSpinLockAtDpcLevel