From 0ac724058fe0bc7b3532c3b0110b69e22c0f6229 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 13 Aug 2022 15:51:18 +0200 Subject: [PATCH] 5.4-stable patches added patches: iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch --- ...8-fix-the-warning-in-isl29028_remove.patch | 49 +++++++++++++++++++ queue-5.4/series | 1 + 2 files changed, 50 insertions(+) create mode 100644 queue-5.4/iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch diff --git a/queue-5.4/iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch b/queue-5.4/iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch new file mode 100644 index 00000000000..ca61c53b45e --- /dev/null +++ b/queue-5.4/iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch @@ -0,0 +1,49 @@ +From 06674fc7c003b9d0aa1d37fef7ab2c24802cc6ad Mon Sep 17 00:00:00 2001 +From: Zheyu Ma +Date: Sun, 17 Jul 2022 08:42:41 +0800 +Subject: iio: light: isl29028: Fix the warning in isl29028_remove() + +From: Zheyu Ma + +commit 06674fc7c003b9d0aa1d37fef7ab2c24802cc6ad upstream. + +The driver use the non-managed form of the register function in +isl29028_remove(). To keep the release order as mirroring the ordering +in probe, the driver should use non-managed form in probe, too. + +The following log reveals it: + +[ 32.374955] isl29028 0-0010: remove +[ 32.376861] general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] PREEMPT SMP KASAN PTI +[ 32.377676] KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037] +[ 32.379432] RIP: 0010:kernfs_find_and_get_ns+0x28/0xe0 +[ 32.385461] Call Trace: +[ 32.385807] sysfs_unmerge_group+0x59/0x110 +[ 32.386110] dpm_sysfs_remove+0x58/0xc0 +[ 32.386391] device_del+0x296/0xe50 +[ 32.386959] cdev_device_del+0x1d/0xd0 +[ 32.387231] devm_iio_device_unreg+0x27/0xb0 +[ 32.387542] devres_release_group+0x319/0x3d0 +[ 32.388162] i2c_device_remove+0x93/0x1f0 + +Fixes: 2db5054ac28d ("staging: iio: isl29028: add runtime power management support") +Signed-off-by: Zheyu Ma +Link: https://lore.kernel.org/r/20220717004241.2281028-1-zheyuma97@gmail.com +Cc: +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman +--- + drivers/iio/light/isl29028.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/iio/light/isl29028.c ++++ b/drivers/iio/light/isl29028.c +@@ -628,7 +628,7 @@ static int isl29028_probe(struct i2c_cli + ISL29028_POWER_OFF_DELAY_MS); + pm_runtime_use_autosuspend(&client->dev); + +- ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev); ++ ret = iio_device_register(indio_dev); + if (ret < 0) { + dev_err(&client->dev, + "%s(): iio registration failed with error %d\n", diff --git a/queue-5.4/series b/queue-5.4/series index ae2608ac922..77c26cbfc6e 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -31,3 +31,4 @@ parisc-io_pgetevents_time64-needs-compat-syscall-in-32-bit-compat-mode.patch drm-gem-properly-annotate-ww-context-on-drm_gem_lock_reservations-error.patch drm-nouveau-fix-another-off-by-one-in-nvbios_addr.patch drm-amdgpu-check-bo-s-requested-pinning-domains-against-its-preferred_domains.patch +iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch -- 2.47.3