Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-68203

media: vivid: fix cleanup bugs in vivid_init()

Description

In the Linux kernel, the following vulnerability has been resolved: media: vivid: fix cleanup bugs in vivid_init() When platform_device_register() fails in vivid_init(), the embedded struct device in vivid_pdev has already been initialized by device_initialize(), but the failure path jumps to free_output_strings without dropping the device reference for the current platform device: vivid_init() -> platform_device_register(&vivid_pdev) -> device_initialize(&vivid_pdev.dev) -> setup_pdev_dma_masks(&vivid_pdev) -> platform_device_add(&vivid_pdev) This leads to a reference leak when platform_device_register() fails. Fix this by calling platform_device_put() before jumping to the common cleanup path. Also, the unreg_driver label incorrectly calls platform_driver_register() instead of platform_driver_unregister(), which breaks cleanup when workqueue creation fails after successful driver registration. Fix that as well. The reference leak was identified by a static analysis tool I developed and confirmed by manual review. The incorrect cleanup call was found during code inspection.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • f46d740fb0258982f00ffdbddc6486e674edafb5 to < 6c7307c1b45da4fef6b445ca5c113457d86a7806affected
  • f46d740fb0258982f00ffdbddc6486e674edafb5 to < ae6ccae32f51f788035d2c5cec898491dd7150efaffected
  • f46d740fb0258982f00ffdbddc6486e674edafb5 to < 4385092a86b94e1f332db35a3766108978c0722faffected
  • f46d740fb0258982f00ffdbddc6486e674edafb5 to < 1349af7f87df57940619f5b87990b799dac9ed8aaffected
  • f46d740fb0258982f00ffdbddc6486e674edafb5 to < 6d51ad8f1c50c50d1abcc97fd243179967184c6aaffected
  • f46d740fb0258982f00ffdbddc6486e674edafb5 to < a07c179a92e949172ca52f6d4a13202ea88cd4b7affected

Linux Linux

Default version status: affected

  • 4.1affected
  • 0 to < 4.1unaffected
  • 6.1.191 to ≤ 6.1.*unaffected
  • 6.6.160 to ≤ 6.6.*unaffected
  • 6.12.101 to ≤ 6.12.*unaffected
  • 6.18.42 to ≤ 6.18.*unaffected
  • 7.1.6 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References