Ivan Orlov publicó la semana pasada los parches para VALSA, el controlador de sonido Virtual ALSA que tiene como objetivo ayudar a los desarrolladores del kernel de Linux a probar y fuzzear el subsistema de sonido.
El controlador Virtual ALSA cubre todos los casos de uso posibles, incluidos escenarios como errores e inyección de retraso, soporte para la generación de datos aleatorios y basados en patrones, y más. Si bien el kernel de Linux tiene algunos controladores de medios virtuales, hasta ahora no ha habido un controlador ALSA virtual además del módulo snd-dummy.
Ivan explicó con el código VALSA:
“Este nuevo controlador Virtual ALSA tiene varias características que pueden ser útiles durante las pruebas/fuzzing de aplicaciones ALSA en el espacio de usuario, o pruebas/fuzzing de la capa intermedia PCM. No todos pueden implementarse utilizando los controladores virtuales existentes (como dummy o loopback). Esto es lo que puede hacer este controlador:
-Simular los procesos de captura y reproducción
-Verificar la reproducción flujo para contener el patrón en bucle
-Genera datos de captura aleatorios o basados en patrones
-Inyecta retrasos en los procesos de reproducción y captura
-Inyecta errores durante las devoluciones de llamada de PCMAdemás, este controlador puede verificar si el flujo de reproducción contiene el patrón predefinido, que se usa en la autocomprobación correspondiente para verificar la funcionalidad de transferencia de datos de la capa intermedia de PCM. Además, este controlador redefine el ioctl RESET predeterminado, y la autocomprobación también cubre esta funcionalidad de la API de PCM”.
El código del controlador VALSA es solo alrededor de 600 líneas nuevas, mientras que también hay documentación adicional.
Más detalles sobre el controlador Linux Virtual ALSA a través de esta serie de parches del kernel.