Ivan Orlov la scorsa settimana ha pubblicato le patch per VALSA, il driver audio Virtual ALSA che ha lo scopo di aiutare gli sviluppatori del kernel Linux a testare e fuzzing del sottosistema audio.
Il driver Virtual ALSA copre tutti i possibili casi d’uso, inclusi scenari come errori e iniezione ritardata, supporto per la generazione di dati casuali e basati su pattern e altro ancora. Sebbene il kernel di Linux abbia alcuni driver per supporti virtuali, finora non c’è stato un driver Virtual ALSA oltre al modulo snd-dummy.
Ivan ha spiegato con il codice VALSA:
“Questo nuovo driver ALSA virtuale ha diverse funzionalità che possono essere utili durante il test/fuzzing delle applicazioni ALSA in spazio utente o test/fuzzing del livello intermedio PCM. Non tutti possono essere implementati utilizzando i driver virtuali esistenti (come dummy o loopback). Ecco cosa può fare questo driver:
-Simula i processi di acquisizione e riproduzione
-Controlla la riproduzione flusso per contenere il pattern in loop
-Genera dati di acquisizione casuali o basati su pattern
-Inserimento di ritardi nei processi di riproduzione e acquisizione
-Inserimento di errori durante i callback PCMInoltre, questo driver può verificare se il flusso di riproduzione contiene il pattern predefinito, utilizzato in l’autotest corrispondente per verificare la funzionalità di trasferimento dei dati del livello intermedio PCM. Inoltre, questo driver ridefinisce l’ioctl RESET predefinito e l’autotest copre anche questa funzionalità dell’API PCM.”
Il codice del driver VALSA è solo circa 600 nuove righe mentre c’è anche della documentazione aggiuntiva.
Ulteriori dettagli sul driver Linux Virtual ALSA tramite questa serie di patch del kernel.