CVE-2026-68205

media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()

State
Published
Severity
Not scored
Published
Aug 10, 2026
Updated
Aug 23, 2026
Reserved
Jul 30, 2026

Read the record on cve.org

Description

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

media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()

The v4l2 helper v4l2_async_register_subdev_sensor() calls v4l2_async_register_subdev(), which is a macro that expands to __v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded inside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module rather than the sensor driver module that originally set sd->owner. When v4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then overwrites the sensor driver's owner with NULL.

This causes the problem that the sensor module's reference count is never incremented during async registration, so the module can be removed while the subdevice is still in use by a notifier (e.g., a CSI-2 receiver bridge driver).

Fix this by renaming v4l2_async_register_subdev_sensor() to __v4l2_async_register_subdev_sensor() with an added explicit module argument and introducing a wrapper macro: #define v4l2_async_register_subdev_sensor(sd) \ __v4l2_async_register_subdev_sensor(sd, THIS_MODULE)

This ensures the sensor driver module is properly referenced even when the sensor driver does not init the owner field before calling v4l2_async_register_subdev_sensor() and prevents premature module removal.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before f35e85a9d919d7954d9a7752e4644c0b403ad025Affected
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before c5e47cf9a6cffef73a1ed40b3648e6097aac165aAffected
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before 47ef04cd13d38010b580056a9d8840aaab944841Affected
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before caea6bc68c925d63ca33d21b2255f47181943d61Affected
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before cf9732fd6c4f2f803ccfc46d89489b6635590270Affected
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before 067887ff93fddbb3a3fb84c900bc654ecfe5ba61Affected
  • aef69d54755d45edefbf347a51efd1673d7daed9 to before 06cb687a5132fcffe624c0070576ab852ac6b568Affected
LinuxLinux
  • 4.15Affected
  • before 4.15Not affected
  • 5.10.266 through 5.10.*Not affected
  • 5.15.217 through 5.15.*Not affected
  • 6.6.151 through 6.6.*Not affected
  • 6.12.101 through 6.12.*Not affected
  • 6.18.42 through 6.18.*Not affected
  • 7.1.6 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.