Ivan Orlov a publié la semaine dernière les correctifs pour VALSA, le pilote audio Virtual ALSA qui vise à aider les développeurs du noyau Linux à tester et à fuzzer le sous-système audio.
Le pilote Virtual ALSA couvre tous les cas d’utilisation possibles, y compris des scénarios tels que les erreurs et l’injection de retard, la prise en charge de la génération de données aléatoires et basées sur des modèles, etc. Bien que le noyau Linux ait des pilotes de médias virtuels, jusqu’à présent, il n’y a pas eu de pilote ALSA virtuel en plus du module snd-dummy.
Ivan a expliqué avec le code VALSA :
“Ce nouveau pilote ALSA virtuel a plusieurs fonctionnalités qui peuvent être utiles lors du test/fuzzing des applications ALSA de l’espace utilisateur, ou du test/fuzzing de la couche intermédiaire PCM. Tous ne peuvent pas être implémentés à l’aide des pilotes virtuels existants (comme factice ou bouclage). Voici ce que ce pilote peut faire :
-Simuler les processus de capture et de lecture
-Vérifier la lecture flux pour contenir le motif en boucle
-Générer des données de capture aléatoires ou basées sur un motif
-Injecter des retards dans les processus de lecture et de capture
-Injecter des erreurs lors des rappels PCM
En outre, ce pilote peut vérifier que le flux de lecture contient le modèle prédéfini, qui est utilisé dans l’autotest correspondant pour vérifier la fonctionnalité de transfert de données de la couche intermédiaire PCM. De plus, ce pilote redéfinit l’ioctl RESET par défaut, et l’autotest couvre également cette fonctionnalité de l’API PCM.”
Le code du pilote VALSA est d’environ 600 nouvelles lignes alors qu’il y a aussi de la documentation.
Plus de détails sur le pilote Linux Virtual ALSA via cette série de correctifs du noyau.