linux/drivers/net/wwan
M Chetan Kumar ee44bacf46 net: wwan: iosm: fix NULL pointer dereference when removing device
[ Upstream commit 60829145f1 ]

In suspend and resume cycle, the removal and rescan of device ends
up in NULL pointer dereference.

During driver initialization, if the ipc_imem_wwan_channel_init()
fails to get the valid device capabilities it returns an error and
further no resource (wwan struct) will be allocated. Now in this
situation if driver removal procedure is initiated it would result
in NULL pointer exception since unallocated wwan struct is dereferenced
inside ipc_wwan_deinit().

ipc_imem_run_state_worker() to handle the called functions return value
and to release the resource in failure case. It also reports the link
down event in failure cases. The user space application can handle this
event to do a device reset for restoring the device communication.

Fixes: 3670970dd8 ("net: iosm: shared memory IPC interface")
Reported-by: Samuel Wein PhD <sam@samwein.com>
Closes: https://lore.kernel.org/netdev/20230427140819.1310f4bd@kernel.org/T/
Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-05-24 17:32:47 +01:00
..
iosm net: wwan: iosm: fix NULL pointer dereference when removing device 2023-05-24 17:32:47 +01:00
t7xx net: wwan: t7xx: do not compile with -Werror 2023-05-11 23:02:58 +09:00
Kconfig net: wwan: iosm: fix driver not working with INTEL_IOMMU disabled 2022-11-09 14:00:25 +00:00
Makefile net: wwan: t7xx: Add core components 2022-05-09 10:51:59 +01:00
mhi_wwan_ctrl.c net: wwan: mhi_wwan_ctrl: Add DUN2 to have a secondary AT port 2022-09-20 16:07:12 -07:00
mhi_wwan_mbim.c net: wwan: mhi: fix memory leak in mhi_mbim_dellink 2022-11-07 09:38:04 +00:00
qcom_bam_dmux.c net: wwan: qcom_bam_dmux: fix wrong pointer passed to IS_ERR() 2022-03-22 09:36:46 +01:00
rpmsg_wwan_ctrl.c net: wwan: Allow WWAN drivers to provide blocking tx and poll function 2021-06-18 13:13:40 -07:00
wwan_core.c termios: get rid of non-UAPI asm/termios.h 2022-09-09 10:44:35 +02:00
wwan_hwsim.c wwan_hwsim: fix possible memory leak in wwan_hwsim_dev_new() 2022-10-19 17:25:10 -07:00