kernel_samsung_a53x/drivers/net/ieee802154
Dinghao Liu 9f6a90d384 ieee802154: ca8210: Fix a potential UAF in ca8210_probe
[ Upstream commit f990874b1c98fe8e57ee9385669f501822979258 ]

If of_clk_add_provider() fails in ca8210_register_ext_clock(),
it calls clk_unregister() to release priv->clk and returns an
error. However, the caller ca8210_probe() then calls ca8210_remove(),
where priv->clk is freed again in ca8210_unregister_ext_clock(). In
this case, a use-after-free may happen in the second time we call
clk_unregister().

Fix this by removing the first clk_unregister(). Also, priv->clk could
be an error code on failure of clk_register_fixed_rate(). Use
IS_ERR_OR_NULL to catch this case in ca8210_unregister_ext_clock().

Fixes: ded845a781a5 ("ieee802154: Add CA8210 IEEE 802.15.4 device driver")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Message-ID: <20231007033049.22353-1-dinghao.liu@zju.edu.cn>
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-08 11:25:45 +01:00
..
adf7242.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
at86rf230.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
at86rf230.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atusb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atusb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ca8210.c ieee802154: ca8210: Fix a potential UAF in ca8210_probe 2024-11-08 11:25:45 +01:00
cc2520.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fakelb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mac802154_hwsim.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mac802154_hwsim.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mcr20a.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mcr20a.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mrf24j40.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00