CVE-2026-43340Linux内核COMEDI子系统存在漏洞。当通过COMEDI_DEVCONFIG ioctl将设备多次附加到不同低级驱动程序时,dev->spinlock未重新初始化,导致锁状态不匹配。这可能在启用CONFIG_LOCKDEP时引发不一致,进而影响系统的可用性。
该漏洞源于Linux内核COMEDI子系统对`struct comedi_device`结构体中自旋锁的管理缺陷。该自旋锁由子系统初始化,但保留给低级驱动程序使用。对于通过`comedi.comedi_num_legacy_minors`参数创建的传统设备,允许使用`COMEDI_DEVCONFIG` ioctl命令在其生命周期内多次附加到不同的低级驱动程序。然而,在执行`attach`操作切换驱动程序时,内核未重新初始化`dev->spinlock`。如果不同的低级驱动程序对自旋锁的加锁顺序或方式存在差异,将导致锁状态不一致。特别是在启用`CONFIG_LOCKDEP`(锁依赖检测器)的内核中,这种不一致会被检测为错误,可能引发内核警告或死锁,从而导致拒绝服务。