DF: prueba de IOCTL del búfer de longitud cero aproximada (confiabilidad)
Durante la prueba de búfer de Zero-Length, la prueba Fuzz emite una serie de llamadas a la función DeviceIoControl con longitudes de búfer de entrada o salida de 0. La prueba genera distintos códigos de control de E/S mediante diferentes códigos de función, tipos de dispositivo, métodos de transferencia de datos y requisitos de acceso. Para obtener información sobre el contenido de los códigos de control de E/S, vea Definición de códigos de control de E/S.
Para probar el control del controlador de punteros de búfer no válidos, los punteros de búfer de estas llamadas en modo de usuario especifican direcciones altas en el espacio de direcciones virtuales del kernel, como 0xFFFFFC00).
La prueba Fuzz realiza la prueba de búfer de Zero-Length en todos los dispositivos abiertos durante las pruebas abiertas básicas y adicionales. Puede personalizar esta prueba mediante los parámetros de comando MinFunctionCode y MaxFunctionCode para especificar el intervalo de códigos de función IOCTL usados en las llamadas y MinDeviceType y MaxDeviceType para especificar el intervalo de tipos de dispositivo usados en las llamadas.
- Binario de prueba: Devfund_FuzzTest.dll
- Método de prueba: DoZeroLengthBufferIOCTLTest
Detalles de las pruebas
Especificaciones |
|
Plataformas |
|
Versiones admitidas |
|
Tiempo de ejecución esperado (en minutos) | 15 |
Categoría | Escenario |
Tiempo de espera (en minutos) | 180 |
Requiere reinicio | false |
Requiere una configuración especial | true |
Tipo | automatic |
Documentación adicional
Las pruebas de esta área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:
Ejecución de la prueba
Antes de ejecutar la prueba, complete la configuración de la prueba como se describe en requisitos de prueba: Requisitos previos de pruebas de confiabilidad de Device.Fundamentals.
Solución de problemas
Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.
Para obtener información de solución de problemas específica de las pruebas de aspectos básicos del dispositivo en HLK y WDK, consulte la documentación adicional de Device.DevFund.
Más información
Parámetros
Nombre de parámetro | Descripción de los parámetros |
---|---|
DQ | Una consulta SDEL WDTF que se usa para identificar los dispositivos de destino: https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | Solo se requiere si DUT o uno de sus dispositivos secundarios es un adaptador WiFi. Proporcione SSID de una red WiFi AES WPA2 que la prueba pueda usar para probar el adaptador WiFi. El valor predeterminado es "kitstestssid". |
Wpa2PskPassword | Solo se requiere si DUT o uno de sus dispositivos secundarios es un adaptador WiFi. Proporcione la contraseña de la red WiFi WPA2 AES especificada mediante el parámetro Wpa2PskAesSsid. El valor predeterminado es "password". |
ChangeBufferProtectionFlags | True o False. Cambia las marcas de protección de memoria de los búferes pasados al dispositivo probado. Las marcas de protección de memoria alternan entre ningún acceso, solo lectura y solo lectura con la protección de páginas. |
Impersonate | True o False. Ejecuta la prueba como un usuario no administrativo. |
FillZeroPageWithNull | True o False. Asigna la página cero y la rellena con valores NULL. Esta prueba identifica los controladores que no comprueban una referencia de puntero antes de desreferenciar un puntero. |
DoPoolCheck | True o False. Supervisa el uso del controlador de los grupos de memoria del sistema paginados y no paginados mediante etiquetas de grupo y listas de búsqueda. Esta opción también supervisa los cambios en el número de excepciones controladas que podrían indicar errores en el control de excepciones. |
DoSync | True o False. También abre identificadores de dispositivo en modo SYNC (FILE_SYNCHRONOUS_IO_ALERT). Se omiten las operaciones aleatorias de lectura y escritura. |
TestCycles | Número de ciclos de prueba. |
DriverVerifierAdditionalDrivers | Controladores adicionales que deben tener habilitado el Comprobador de controladores |
DriverVerifierExcludedFlags | Marcador de posición para las marcas del comprobador de controladores que se pueden excluir manualmente para la ejecución de pruebas |
WDKDeviceID | Id. de dispositivo del dispositivo sometido a prueba |
QueryHardwareID | Identificador de hardware del dispositivo sometido a prueba |
WDTFREMOTESYSTEM | Solo se requiere si DUT o uno de sus dispositivos secundarios es una NIC cableada que no tiene una dirección de puerta de enlace IPv6. Si se determina que es necesario, proporcione una dirección IPv6 a la que la NIC de prueba pueda hacer ping para probar la E/S de red. Por ejemplo: fe80::78b6:810:9c12:46cd |
DriverVerifierCustomizeConfiguration | Especifica que esta prueba puede querer actualizar automáticamente la configuración del Comprobador de controladores. |
MinDeviceType | Especifica el valor mínimo del campo DeviceType en los IOCTLs. El valor mínimo posible es 0. Use -1 para la detección automática de tipos (preferido). |
MaxDeviceType | Especifica el valor máximo del campo DeviceType en los IOCTLs. El valor máximo posible es 65535. Use -1 para la detección automática de tipos (preferido). |
MinFunctionCode | Especifica el valor mínimo del campo FunctionCode en los IOCTLs. El valor mínimo posible es 0. |
MaxFunctionCode | Especifica el valor máximo del campo FunctionCode en las ICTLs. El valor máximo posible es 4095. |