blob: 6d236e2523d517f8d93f1a2d3bb6028db037a2f5 [file] [log] [blame]
From bippy-7c5fe7eed585 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2024-38611: media: i2c: et8ek8: Don't strip remove function when driver is builtin
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
media: i2c: et8ek8: Don't strip remove function when driver is builtin
Using __exit for the remove function results in the remove callback
being discarded with CONFIG_VIDEO_ET8EK8=y. When such a device gets
unbound (e.g. using sysfs or hotplug), the driver is just removed
without the cleanup being performed. This results in resource leaks. Fix
it by compiling in the remove callback unconditionally.
This also fixes a W=1 modpost warning:
WARNING: modpost: drivers/media/i2c/et8ek8/et8ek8: section mismatch in reference: et8ek8_i2c_driver+0x10 (section: .data) -> et8ek8_remove (section: .exit.text)
The Linux kernel CVE team has assigned CVE-2024-38611 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 5.10.236 with commit 963523600d9f1e36bc35ba774c2493d6baa4dd8f
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 5.15.180 with commit ece3fc1c10197052044048bea4f13cfdcf25b416
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 6.1.133 with commit 04d1086a62ac492ebb6bb0c94c1c8cb55f5d1f36
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 6.6.33 with commit c1a3803e5bb91c13e9ad582003e4288f67f06cd9
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 6.8.12 with commit 43fff07e4b1956d0e5cf23717507e438278ea3d9
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 6.9.3 with commit 904db2ba44ae60641b6378c5013254d09acf5e80
Issue introduced in 4.11 with commit c5254e72b8edc2ca0a98703e92e8c34959343d2c and fixed in 6.10 with commit 545b215736c5c4b354e182d99c578a472ac9bfce
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-2024-38611
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/i2c/et8ek8/et8ek8_driver.c
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/963523600d9f1e36bc35ba774c2493d6baa4dd8f
https://git.kernel.org/stable/c/ece3fc1c10197052044048bea4f13cfdcf25b416
https://git.kernel.org/stable/c/04d1086a62ac492ebb6bb0c94c1c8cb55f5d1f36
https://git.kernel.org/stable/c/c1a3803e5bb91c13e9ad582003e4288f67f06cd9
https://git.kernel.org/stable/c/43fff07e4b1956d0e5cf23717507e438278ea3d9
https://git.kernel.org/stable/c/904db2ba44ae60641b6378c5013254d09acf5e80
https://git.kernel.org/stable/c/545b215736c5c4b354e182d99c578a472ac9bfce