mirror of
https://github.com/torvalds/linux
synced 2024-10-07 11:53:31 +00:00
06674fc7c0
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:
|
||
---|---|---|
.. | ||
acpi-als.c | ||
adjd_s311.c | ||
adux1020.c | ||
al3010.c | ||
al3320a.c | ||
apds9300.c | ||
apds9960.c | ||
as73211.c | ||
bh1750.c | ||
bh1780.c | ||
cm3232.c | ||
cm3323.c | ||
cm3605.c | ||
cm32181.c | ||
cm36651.c | ||
cros_ec_light_prox.c | ||
gp2ap002.c | ||
gp2ap020a00f.c | ||
hid-sensor-als.c | ||
hid-sensor-prox.c | ||
iqs621-als.c | ||
isl29018.c | ||
isl29028.c | ||
isl29125.c | ||
jsa1212.c | ||
Kconfig | ||
lm3533-als.c | ||
ltr501.c | ||
lv0104cs.c | ||
Makefile | ||
max44000.c | ||
max44009.c | ||
noa1305.c | ||
opt3001.c | ||
pa12203001.c | ||
rpr0521.c | ||
si1133.c | ||
si1145.c | ||
st_uvis25.h | ||
st_uvis25_core.c | ||
st_uvis25_i2c.c | ||
st_uvis25_spi.c | ||
stk3310.c | ||
tcs3414.c | ||
tcs3472.c | ||
tsl2563.c | ||
tsl2583.c | ||
tsl2591.c | ||
tsl2772.c | ||
tsl4531.c | ||
us5182d.c | ||
vcnl4000.c | ||
vcnl4035.c | ||
veml6030.c | ||
veml6070.c | ||
vl6180.c | ||
zopt2201.c |