linux/drivers
Zheyu Ma fac589fb76 iio: light: isl29028: Fix the warning in isl29028_remove()
commit 06674fc7c0 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: 2db5054ac2 ("staging: iio: isl29028: add runtime power management support")
Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Link: https://lore.kernel.org/r/20220717004241.2281028-1-zheyuma97@gmail.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2022-08-17 14:22:55 +02:00
..
accessibility tty: the rest, stop using tty_schedule_flip() 2022-07-29 17:25:32 +02:00
acpi ACPI: APEI: Better fix to avoid spamming the console with old error logs 2022-08-11 13:07:51 +02:00
amba ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" 2021-11-06 14:13:31 +01:00
android binder: avoid potential data leakage when copying txn 2022-01-27 11:04:09 +01:00
ata ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() 2022-06-22 14:21:56 +02:00
atm atm: eni: Add check for dma_map_single 2022-03-23 09:16:41 +01:00
auxdisplay auxdisplay: lcd2s: Use proper API to free the instance of charlcd object 2022-03-08 19:12:47 +01:00
base x86/bugs: Report AMD retbleed vulnerability 2022-07-23 12:54:02 +02:00
bcma Driver core update for 5.15-rc1 2021-09-01 08:44:42 -07:00
block virtio-blk: modify the value type of num in virtio_queue_rq() 2022-07-12 16:35:11 +02:00
bluetooth Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3586 2022-08-11 13:07:54 +02:00
bus bus: mhi: host: pci_generic: add Telit FN990 2022-07-29 17:25:06 +02:00
cdrom scsi: sr: cdrom: Move cdrom_read_cdda_bpc() into the sr driver 2021-07-30 22:13:09 -04:00
char random: update comment from copy_to_user() -> copy_to_iter() 2022-06-29 09:03:31 +02:00
clk clk: renesas: r9a07g044: Update multiplier and divider values for PLL2/3 2022-07-12 16:34:58 +02:00
clocksource clocksource/drivers/ixp4xx: remove EXPORT_SYMBOL_GPL from ixp4xx_timer_setup() 2022-07-07 17:53:32 +02:00
comedi comedi: vmk80xx: fix expression for tx buffer size 2022-06-22 14:22:03 +02:00
connector net/connector: Add const qualifier to cb_id 2020-12-16 11:06:49 -08:00
counter counter: 104-quad-8: Describe member 'lock' in 'quad8' 2021-08-09 20:24:38 +01:00
cpufreq cpufreq: pmac32-cpufreq: Fix refcount leak bug 2022-07-21 21:24:34 +02:00
cpuidle cpuidle: PSCI: Improve support for suspend-to-RAM for PSCI OSI mode 2022-06-09 10:22:33 +02:00
crypto crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak 2022-08-17 14:22:51 +02:00
cxl cxl/port: Hold port reference until decoder release 2022-07-12 16:34:58 +02:00
dax dax: make sure inodes are flushed before destroy cache 2022-04-08 14:23:31 +02:00
dca dca: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:25:20 +02:00
devfreq PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events 2022-07-07 17:53:27 +02:00
dio dio: return -ENOMEM when kzalloc() fails 2021-07-21 15:53:24 +02:00
dma dmaengine: idxd: force wq context cleanup on device disable path 2022-07-12 16:35:19 +02:00
dma-buf dma-buf/poll: Get a file reference for outstanding fence callbacks 2022-07-12 16:34:51 +02:00
edac EDAC/ghes: Set the DIMM label unconditionally 2022-08-03 12:03:55 +02:00
eisa EISA: use DEVICE_ATTR_RO() helper macro 2021-06-04 15:28:34 +02:00
extcon extcon: Modify extcon device to be created after driver data is set 2022-06-14 18:36:22 +02:00
firewire firewire: core: extend card->lock in fw_core_handle_bus_reset 2022-05-12 12:30:05 +02:00
firmware firmware: sysfb: Add sysfb_disable() helper function 2022-07-21 21:24:35 +02:00
fpga fpga: ice40-spi: Add SPI device ID table 2021-09-27 14:00:41 -07:00
fsi fsi: occ: Force sequence numbering per OCC 2022-07-07 17:53:32 +02:00
gnss treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
gpio gpio: gpio-xilinx: Fix integer overflow 2022-07-29 17:25:23 +02:00
gpu drm/amdgpu: fix check in fbdev init 2022-08-17 14:22:54 +02:00
greybus greybus: svc: fix an error handling bug in gb_svc_hello() 2022-04-08 14:22:50 +02:00
hid HID: wacom: Don't register pad_input for touch switch 2022-08-17 14:22:47 +02:00
hsi HSI: core: Fix return freed object in hsi_new_client 2022-01-27 11:04:31 +01:00
hv Drivers: hv: vmbus: Release cpu lock in error case 2022-06-22 14:22:00 +02:00
hwmon hwmon: (ibmaem) don't call platform_device_del() if platform_device_add() fails 2022-07-07 17:53:35 +02:00
hwspinlock hwspinlock: add sun6i hardware spinlock support 2021-05-27 22:19:42 -05:00
hwtracing coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier 2022-06-14 18:36:06 +02:00
i2c i2c: cadence: Change large transfer count reset logic to be unconditional 2022-07-29 17:25:17 +02:00
i3c i3c: master: dw: check return of dw_i3c_master_get_free_pos() 2022-03-08 19:12:37 +01:00
idle intel_idle: Disable IBRS during long idle 2022-07-23 12:54:04 +02:00
iio iio: light: isl29028: Fix the warning in isl29028_remove() 2022-08-17 14:22:55 +02:00
infiniband RDMA/irdma: Fix sleep from invalid context BUG 2022-07-29 17:25:10 +02:00
input Input: goodix - try not to touch the reset-pin on x86/ACPI devices 2022-07-12 16:34:51 +02:00
interconnect interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate 2022-06-09 10:23:31 +02:00
iommu iommu/vt-d: Fix PCI bus rescan device hot add 2022-07-12 16:35:09 +02:00
ipack ipack: ipoctal: fix module reference leak 2021-09-27 17:38:49 +02:00
irqchip irqchip: or1k-pic: Undefine mask_ack for level triggered hardware 2022-07-21 21:24:40 +02:00
isdn isdn: hfcpci: check the return value of dma_set_mask() in setup_hw() 2022-03-16 14:23:36 +01:00
leds leds: lp55xx: initialise output direction from dts 2022-01-27 11:04:21 +01:00
macintosh macintosh/adb: fix oob read in do_adb_query() function 2022-08-11 13:07:54 +02:00
mailbox mailbox: forward the hrtimer if not queued and under a lock 2022-06-09 10:23:12 +02:00
mcb mcb: fix error handling in mcb_alloc_bus() 2021-09-14 11:22:26 +02:00
md dm raid: fix KASAN warning in raid5_add_disks 2022-07-07 17:53:24 +02:00
media media: davinci: vpif: fix use-after-free on driver unbind 2022-07-12 16:34:57 +02:00
memory memory: renesas-rpc-if: Avoid unaligned bus access for HyperFlash 2022-07-12 16:34:52 +02:00
memstick memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() 2021-11-18 19:16:32 +01:00
message scsi: message: mptfc: Switch from pci_ to dma_ API 2021-06-22 23:00:01 -04:00
mfd mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe() 2022-06-09 10:23:12 +02:00
misc misc: rtsx_usb: set return value in rsp_buf alloc err path 2022-07-12 16:35:17 +02:00
mmc mmc: mediatek: wait dma stop bit reset to 0 2022-06-29 09:03:19 +02:00
most most: fix control-message timeouts 2021-11-18 19:16:08 +01:00
mtd mtd: rawnand: arasan: Update NAND bus clock instead of system clock 2022-08-17 14:22:54 +02:00
mux mux: gpio: Simplify code by using dev_err_probe() 2021-04-02 16:28:53 +02:00
net usbnet: Fix linkwatch use-after-free on disconnect 2022-08-17 14:22:51 +02:00
nfc NFC: nxp-nci: don't print header length mismatch on i2c error 2022-07-21 21:24:35 +02:00
ntb ntb: intel: fix port config status offset for SPR 2022-03-08 19:12:44 +01:00
nubus nubus: Simplify check in remove callback 2021-08-05 14:37:03 +02:00
nvdimm nvdimm: Fix badblocks clear off-by-one error 2022-07-07 17:53:24 +02:00
nvme nvme: fix block device naming collision 2022-07-29 17:25:12 +02:00
nvmem nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property 2022-03-02 11:48:06 +01:00
of of: overlay: do not break notify on NOTIFY_{OK|STOP} 2022-06-09 10:22:50 +02:00
opp OPP: call of_node_put() on error path in _bandwidth_supported() 2022-06-09 10:23:13 +02:00
parisc parisc: Check the return value of ioremap() in lba_driver_probe() 2022-08-17 14:22:51 +02:00
parport parisc architecture updates for kernel 5.15: 2021-09-02 13:16:00 -07:00
pci PCI: hv: Fix interrupt mapping for multi-MSI 2022-07-29 17:25:07 +02:00
pcmcia pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards 2022-06-14 18:36:02 +02:00
perf arm_pmu: Validate single/group leader events 2022-04-27 14:39:00 +02:00
phy phy: qcom-qmp: fix pipe-clock imbalance on power-on failure 2022-06-14 18:36:06 +02:00
pinctrl pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid wait context 2022-07-29 17:25:20 +02:00
platform platform/x86: hp-wmi: Ignore Sanitization Mode event 2022-07-21 21:24:34 +02:00
pnp bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
power power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe 2022-07-29 17:25:10 +02:00
powercap powercap: Add Power Limit4 support for Alder Lake SoC 2021-08-25 20:12:16 +02:00
pps pps: clients: gpio: Propagate return value from pps_gpio_probe 2022-04-08 14:23:44 +02:00
ps3 powerpc/ps3: Warn on PS3 device errors 2021-06-10 21:44:58 +10:00
ptp ptp: replace snprintf with sysfs_emit 2022-04-13 20:59:01 +02:00
pwm pwm: raspberrypi-poe: Fix endianness in firmware struct 2022-06-14 18:36:04 +02:00
rapidio bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
ras RAS/CEC: Correct ce_add_elem()'s returned values 2021-04-07 11:52:26 +02:00
regulator regulator: scmi: Fix refcount leak in scmi_regulator_probe 2022-06-09 10:23:00 +02:00
remoteproc remoteproc: imx_rproc: Ignore create mem entry for resource table 2022-06-14 18:36:03 +02:00
reset reset: tegra-bpmp: Restore Handle errors in BPMP response 2022-04-27 14:38:55 +02:00
rpmsg rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails 2022-06-14 18:36:05 +02:00
rtc rtc: rx8025: fix 12/24 hour mode detection on RX-8035 2022-08-17 14:22:53 +02:00
s390 tty: the rest, stop using tty_schedule_flip() 2022-07-29 17:25:32 +02:00
sbus module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
scsi scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover" 2022-08-17 14:22:45 +02:00
sh maple: fix wrong return value of maple_bus_init(). 2021-11-25 09:48:31 +01:00
siox bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
slimbus slimbus: qcom: Fix IRQ check in qcom_slim_probe 2022-05-18 10:26:55 +02:00
soc soc: ixp4xx/npe: Fix unused match warning 2022-07-21 21:24:40 +02:00
soundwire soundwire: qcom: adjust autoenumeration timeout 2022-06-14 18:36:21 +02:00
spi spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers 2022-07-29 17:25:24 +02:00
spmi bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
ssb bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
staging staging: r8188eu: Fix warning of array overflow in ioctl_linux.c 2022-06-22 14:21:59 +02:00
target target: remove an incorrect unmap zeroes data deduction 2022-06-09 10:22:47 +02:00
tc The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
tee optee: use driver internal tee_context for some rpc 2022-03-02 11:47:51 +01:00
thermal thermal: sysfs: Fix cooling_device_stats_setup() error code path 2022-08-17 14:22:50 +02:00
thunderbolt thunderbolt: Use different lane for second DisplayPort tunnel 2022-06-14 18:36:20 +02:00
tty tty: vt: initialize unicode screen buffer 2022-08-17 14:22:50 +02:00
uio uio: Remove leading spaces in Kconfig 2021-05-21 14:52:37 +02:00
usb xhci: Set HCD flag to defer primary roothub registration 2022-07-29 17:25:27 +02:00
vdpa vduse: Tie vduse mgmtdev and its device 2022-07-21 21:24:33 +02:00
vfio vfio/pci: Fix vf_token mechanism when device-specific VF drivers are used 2022-04-20 09:34:13 +02:00
vhost vringh: Fix loop descriptors check in the indirect cases 2022-06-14 18:36:24 +02:00
video fbcon: Fix accelerated fbdev scrolling while logo is still shown 2022-08-17 14:22:51 +02:00
virt virt: acrn: fix a memory leak in acrn_dev_ioctl() 2022-04-08 14:23:50 +02:00
virtio virtio_mmio: Restore guest page size on resume 2022-07-21 21:24:33 +02:00
visorbus visorbus: fix error return code in visorchipset_init() 2021-06-04 15:27:26 +02:00
vlynq bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
vme bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
w1 w1: w1_therm: fixes w1_seq for ds28ea00 sensors 2022-04-13 20:59:11 +02:00
watchdog watchdog: wdat_wdt: Stop watchdog when rebooting the system 2022-06-14 18:36:22 +02:00
xen xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE 2022-07-21 21:24:23 +02:00
zorro zorro: Drop useless (and hardly used) .driver member in struct zorro_dev 2021-08-05 14:37:04 +02:00
Kconfig firmware: include drivers/firmware/Kconfig unconditionally 2021-10-07 16:51:26 +02:00
Makefile virtio: always enter drivers/virtio/ 2021-12-22 09:32:39 +01:00