CVE-2026-43340

Summary

In the Linux kernel, the following vulnerability has been resolved:

comedi: Reinit dev->spinlock between attachments to low-level drivers

struct comedi_device is the main controlling structure for a COMEDI device created by the COMEDI subsystem. It contains a member spinlock containing a spin-lock that is initialized by the COMEDI subsystem, but is reserved for use by a low-level driver attached to the COMEDI device (at least since commit 25436dc9d84f ("Staging: comedi: remove RT code")).

Some COMEDI devices (those created on initialization of the COMEDI subsystem when the "comedi.comedi_num_legacy_minors" parameter is non-zero) can be attached to different low-level drivers over their lifetime using the COMEDI_DEVCONFIG ioctl command. This can result in inconsistent lock states being reported when there is a mismatch in the spin-lock locking levels used by each low-level driver to which the COMEDI device has been attached. Fix it by reinitializing dev->spinlock before calling the low-level driver's attach function pointer if CONFIG_LOCKDEP is enabled.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < 3181c34b415c5464be9d34bff3e43ef63b747039affected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < 2b1f49e4fdff3ef0f8e9158bbb5b149e06287560affected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < 4d5ffe524903a30e2e0da7d16841a56bec2de55caffected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < c01bcc67a9a692d65508ebd480405b5e77d562b7affected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < 430291d8f3884f57ae0057049b0ca291453e29e1affected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < b89c026227712c367950bbae055a5b31073d3b30affected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < 83134a7a176ce5b4b19b6edecf4360e8d98d1a5aaffected
LinuxLinuxed9eccbe8970f6eedc1b978c157caf1251a896d4 < 4b9a9a6d71e3e252032f959fb3895a33acb5865caffected
LinuxLinux2.6.29affected
LinuxLinux0 < 2.6.29unaffected
LinuxLinux5.10.253 <= 5.10.*unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.168 <= 6.1.*unaffected
LinuxLinux6.6.134 <= 6.6.*unaffected
LinuxLinux6.12.81 <= 6.12.*unaffected
LinuxLinux6.18.22 <= 6.18.*unaffected
LinuxLinux6.19.12 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References