{"id":"CVE-2026-43340","state":"PUBLISHED","title":"comedi: Reinit dev->spinlock between attachments to low-level drivers","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncomedi: Reinit dev->spinlock between attachments to low-level drivers\n\n`struct comedi_device` is the main controlling structure for a COMEDI\ndevice created by the COMEDI subsystem.  It contains a member `spinlock`\ncontaining a spin-lock that is initialized by the COMEDI subsystem, but\nis reserved for use by a low-level driver attached to the COMEDI device\n(at least since commit 25436dc9d84f (\"Staging: comedi: remove RT\ncode\")).\n\nSome COMEDI devices (those created on initialization of the COMEDI\nsubsystem when the \"comedi.comedi_num_legacy_minors\" parameter is\nnon-zero) can be attached to different low-level drivers over their\nlifetime using the `COMEDI_DEVCONFIG` ioctl command.  This can result in\ninconsistent lock states being reported when there is a mismatch in the\nspin-lock locking levels used by each low-level driver to which the\nCOMEDI device has been attached.  Fix it by reinitializing\n`dev->spinlock` before calling the low-level driver's `attach` function\npointer if `CONFIG_LOCKDEP` is enabled.","publishedAt":"2026-05-08T13:37:18.580Z","updatedAt":"2026-05-11T22:22:40.639Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"3181c34b415c5464be9d34bff3e43ef63b747039","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"2b1f49e4fdff3ef0f8e9158bbb5b149e06287560","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"4d5ffe524903a30e2e0da7d16841a56bec2de55c","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"c01bcc67a9a692d65508ebd480405b5e77d562b7","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"430291d8f3884f57ae0057049b0ca291453e29e1","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"b89c026227712c367950bbae055a5b31073d3b30","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"83134a7a176ce5b4b19b6edecf4360e8d98d1a5a","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"4b9a9a6d71e3e252032f959fb3895a33acb5865c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/comedi/drivers.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.29","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.29","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.168","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.134","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.81","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.22","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.12","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/comedi/drivers.c"]}],"references":["https://git.kernel.org/stable/c/3181c34b415c5464be9d34bff3e43ef63b747039","https://git.kernel.org/stable/c/2b1f49e4fdff3ef0f8e9158bbb5b149e06287560","https://git.kernel.org/stable/c/4d5ffe524903a30e2e0da7d16841a56bec2de55c","https://git.kernel.org/stable/c/c01bcc67a9a692d65508ebd480405b5e77d562b7","https://git.kernel.org/stable/c/430291d8f3884f57ae0057049b0ca291453e29e1","https://git.kernel.org/stable/c/b89c026227712c367950bbae055a5b31073d3b30","https://git.kernel.org/stable/c/83134a7a176ce5b4b19b6edecf4360e8d98d1a5a","https://git.kernel.org/stable/c/4b9a9a6d71e3e252032f959fb3895a33acb5865c"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43340.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43340","state":"PUBLISHED","datePublished":"2026-05-08T13:37:18.580Z","dateUpdated":"2026-05-11T22:22:40.639Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:56.003Z"},"containers":{"cna":{"title":"comedi: Reinit dev->spinlock between attachments to low-level drivers","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncomedi: Reinit dev->spinlock between attachments to low-level drivers\n\n`struct comedi_device` is the main controlling structure for a COMEDI\ndevice created by the COMEDI subsystem.  It contains a member `spinlock`\ncontaining a spin-lock that is initialized by the COMEDI subsystem, but\nis reserved for use by a low-level driver attached to the COMEDI device\n(at least since commit 25436dc9d84f (\"Staging: comedi: remove RT\ncode\")).\n\nSome COMEDI devices (those created on initialization of the COMEDI\nsubsystem when the \"comedi.comedi_num_legacy_minors\" parameter is\nnon-zero) can be attached to different low-level drivers over their\nlifetime using the `COMEDI_DEVCONFIG` ioctl command.  This can result in\ninconsistent lock states being reported when there is a mismatch in the\nspin-lock locking levels used by each low-level driver to which the\nCOMEDI device has been attached.  Fix it by reinitializing\n`dev->spinlock` before calling the low-level driver's `attach` function\npointer if `CONFIG_LOCKDEP` is enabled."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"3181c34b415c5464be9d34bff3e43ef63b747039","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"2b1f49e4fdff3ef0f8e9158bbb5b149e06287560","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"4d5ffe524903a30e2e0da7d16841a56bec2de55c","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"c01bcc67a9a692d65508ebd480405b5e77d562b7","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"430291d8f3884f57ae0057049b0ca291453e29e1","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"b89c026227712c367950bbae055a5b31073d3b30","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"83134a7a176ce5b4b19b6edecf4360e8d98d1a5a","versionType":"git"},{"version":"ed9eccbe8970f6eedc1b978c157caf1251a896d4","status":"affected","lessThan":"4b9a9a6d71e3e252032f959fb3895a33acb5865c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/comedi/drivers.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.29","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.29","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.168","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.134","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.81","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.22","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.12","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/comedi/drivers.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3181c34b415c5464be9d34bff3e43ef63b747039"},{"url":"https://git.kernel.org/stable/c/2b1f49e4fdff3ef0f8e9158bbb5b149e06287560"},{"url":"https://git.kernel.org/stable/c/4d5ffe524903a30e2e0da7d16841a56bec2de55c"},{"url":"https://git.kernel.org/stable/c/c01bcc67a9a692d65508ebd480405b5e77d562b7"},{"url":"https://git.kernel.org/stable/c/430291d8f3884f57ae0057049b0ca291453e29e1"},{"url":"https://git.kernel.org/stable/c/b89c026227712c367950bbae055a5b31073d3b30"},{"url":"https://git.kernel.org/stable/c/83134a7a176ce5b4b19b6edecf4360e8d98d1a5a"},{"url":"https://git.kernel.org/stable/c/4b9a9a6d71e3e252032f959fb3895a33acb5865c"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:22:40.639Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.1.168"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.6.134"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.12.81"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.18.22"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.19.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}