linux-yocto/drivers/s390/net
Julian Ruess 940d15254d s390/ism: add release function for struct device
[ Upstream commit 915e34d5ad ]

According to device_release() in /drivers/base/core.c,
a device without a release function is a broken device
and must be fixed.

The current code directly frees the device after calling device_add()
without waiting for other kernel parts to release their references.
Thus, a reference could still be held to a struct device,
e.g., by sysfs, leading to potential use-after-free
issues if a proper release function is not set.

Fixes: 8c81ba2034 ("net/smc: De-tangle ism and smc device initialization")
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
Signed-off-by: Julian Ruess <julianr@linux.ibm.com>
Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250214120137.563409-1-wintera@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-02-27 04:10:48 -08:00
..
ctcm_dbug.c
ctcm_dbug.h
ctcm_fsms.c
ctcm_fsms.h
ctcm_main.c
ctcm_main.h
ctcm_mpc.c
ctcm_mpc.h
ctcm_sysfs.c
fsm.c
fsm.h
ism_drv.c
ism.h
Kconfig
lcs.c
lcs.h
Makefile
netiucv.c
qeth_core_main.c
qeth_core_mpc.c
qeth_core_mpc.h
qeth_core_sys.c
qeth_core.h
qeth_ethtool.c
qeth_l2_main.c
qeth_l2_sys.c
qeth_l2.h
qeth_l3_main.c
qeth_l3_sys.c
qeth_l3.h
smsgiucv_app.c
smsgiucv.c
smsgiucv.h