当谈到在Linux内核中使用Rust编程语言时,考虑到用户空间为视频处理提交的未知/不受信任的数据量,它是一个很有意义的领域,对于视频编解码器驱动程序来说,它是一个广泛的攻击面。有了Rust的存储安全特性,这对这类驱动程序来说是一个很大的好处,Collabora目前正在试验一个虚拟编解码器驱动程序Rust实现来证明这一概念。
上周末在布鲁塞尔举行的FOSDEM会议上,Daniel Almeida和Collabora为V4L2中的铁锈无状态编解码器驱动程序进行了辩护。他一直致力于V4L2内核代码的Rust绑定,作为Rust在该领域的好处的初步试验场,他一直致力于将VISL虚拟编解码器驱动程序从C语言引入Rust。
VISL虚拟驱动程序原样对于开发新的用户空间功能、修复用户空间错误、测试新的编解码器API以及构建新的编解码器API的原型都很有帮助。与真实而复杂的硬件驱动程序相比,这个虚拟的无状态解码器驱动程序在编写Rust实现方面也应该相当简单。
那些想要了解更多关于在Linux的V4L2/编解码器空间中实现Rust代码的努力的人可以参阅FOSDEM演讲 for more details.