All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-68205: media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()
Date: Mon, 10 Aug 2026 13:58:42 +0200	[thread overview]
Message-ID: <2026081012-CVE-2026-68205-bbbc@gregkh> (raw)

From: Greg Kroah-Hartman <gregkh@kernel.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.

The Linux kernel CVE team has assigned CVE-2026-68205 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 4.15 with commit aef69d54755d45edefbf347a51efd1673d7daed9 and fixed in 6.6.151 with commit 47ef04cd13d38010b580056a9d8840aaab944841
	Issue introduced in 4.15 with commit aef69d54755d45edefbf347a51efd1673d7daed9 and fixed in 6.12.101 with commit caea6bc68c925d63ca33d21b2255f47181943d61
	Issue introduced in 4.15 with commit aef69d54755d45edefbf347a51efd1673d7daed9 and fixed in 6.18.42 with commit cf9732fd6c4f2f803ccfc46d89489b6635590270
	Issue introduced in 4.15 with commit aef69d54755d45edefbf347a51efd1673d7daed9 and fixed in 7.1.6 with commit 067887ff93fddbb3a3fb84c900bc654ecfe5ba61
	Issue introduced in 4.15 with commit aef69d54755d45edefbf347a51efd1673d7daed9 and fixed in 7.2-rc1 with commit 06cb687a5132fcffe624c0070576ab852ac6b568

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-68205
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/media/v4l2-core/v4l2-fwnode.c
	include/media/v4l2-async.h


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841
	https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61
	https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270
	https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61
	https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568

                 reply	other threads:[~2026-08-10 12:05 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026081012-CVE-2026-68205-bbbc@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=cve@kernel.org \
    --cc=gregkh@kernel.org \
    --cc=linux-cve-announce@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.