Condividi tramite


Errori aggiuntivi nella gestione degli IRP

Di seguito sono riportati ulteriori errori che i driver talvolta commettono durante la gestione degli IRP.

IRP persi o completati due volte

Questi problemi, insieme alle chiamate mancanti alle routine di gestione di I/O, ad esempio IoStartNextPacket, spesso si verificano nei percorsi di gestione degli errori. Le revisioni rapide dei percorsi dei driver possono trovare tali problemi.

Percorsi IOCTL pubblici e IOCTL privati convergenti

Come regola generale, i driver devono contenere percorsi di esecuzione separati per IOCTLs e FSCTLs pubblici e privati. Un driver non può determinare se una richiesta IOCTL o MDFTL ha origine in modalità kernel o utente esaminando il codice di controllo. Di conseguenza, la gestione di codici pubblici e privati nello stesso percorso di esecuzione (o l'esecuzione di una convalida minima e quindi la chiamata delle stesse routine) può aprire un driver alle violazioni della sicurezza. Se un IOCTL o FSCTL privato è privilegiato, allora utenti senza privilegi che conoscono i codici di controllo potrebbero riuscire ad accedervi. Pertanto, se il driver supporta le richieste IOCTL private o FSCTL, assicuratevi che gestisca tali richieste separatamente da qualsiasi IOCTL pubblici o FSCTL che deve supportare anche.