]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Apr 2025 15:00:12 +0000 (16:00 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Apr 2025 15:00:12 +0000 (16:00 +0100)
added patches:
media-i2c-et8ek8-don-t-strip-remove-function-when-driver-is-builtin.patch

queue-5.15/media-i2c-et8ek8-don-t-strip-remove-function-when-driver-is-builtin.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/media-i2c-et8ek8-don-t-strip-remove-function-when-driver-is-builtin.patch b/queue-5.15/media-i2c-et8ek8-don-t-strip-remove-function-when-driver-is-builtin.patch
new file mode 100644 (file)
index 0000000..b200c45
--- /dev/null
@@ -0,0 +1,53 @@
+From 545b215736c5c4b354e182d99c578a472ac9bfce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Sun, 24 Mar 2024 17:00:44 +0100
+Subject: media: i2c: et8ek8: Don't strip remove function when driver is builtin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+
+commit 545b215736c5c4b354e182d99c578a472ac9bfce upstream.
+
+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)
+
+Fixes: c5254e72b8ed ("[media] media: Driver for Toshiba et8ek8 5MP sensor")
+Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/media/i2c/et8ek8/et8ek8_driver.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/media/i2c/et8ek8/et8ek8_driver.c
++++ b/drivers/media/i2c/et8ek8/et8ek8_driver.c
+@@ -1460,7 +1460,7 @@ err_mutex:
+       return ret;
+ }
+-static int __exit et8ek8_remove(struct i2c_client *client)
++static int et8ek8_remove(struct i2c_client *client)
+ {
+       struct v4l2_subdev *subdev = i2c_get_clientdata(client);
+       struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev);
+@@ -1504,7 +1504,7 @@ static struct i2c_driver et8ek8_i2c_driv
+               .of_match_table = et8ek8_of_table,
+       },
+       .probe_new      = et8ek8_probe,
+-      .remove         = __exit_p(et8ek8_remove),
++      .remove         = et8ek8_remove,
+       .id_table       = et8ek8_id_table,
+ };
index 58eff2cd7fdbef7cdb45ef14434723ca5b5df4f4..22c1d3e061633134adb73b7484992bd6d812bd74 100644 (file)
@@ -124,3 +124,4 @@ net-usb-qmi_wwan-add-telit-cinterion-fe990b-composition.patch
 net-usb-usbnet-restore-usb-d-name-exception-for-local-mac-addresses.patch
 memstick-rtsx_usb_ms-fix-slab-use-after-free-in-rtsx_usb_ms_drv_remove.patch
 serial-8250_dma-terminate-correct-dma-in-tx_dma_flush.patch
+media-i2c-et8ek8-don-t-strip-remove-function-when-driver-is-builtin.patch