]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: davicom: fix UAF in dm9000_drv_remove
authorChenyuan Yang <chenyuan0y@gmail.com>
Thu, 23 Jan 2025 21:42:13 +0000 (15:42 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:50:12 +0000 (12:50 +0100)
commit7d7d201eb3b766abe590ac0dda7a508b7db3e357
tree857b136c54b220351da6c888fc70e820a28625e6
parentcfb17f637562e15066480e7eaa23b3a8854f29e5
net: davicom: fix UAF in dm9000_drv_remove

[ Upstream commit 19e65c45a1507a1a2926649d2db3583ed9d55fd9 ]

dm is netdev private data and it cannot be
used after free_netdev() call. Using dm after free_netdev()
can cause UAF bug. Fix it by moving free_netdev() at the end of the
function.

This is similar to the issue fixed in commit
ad297cd2db89 ("net: qcom/emac: fix UAF in emac_remove").

This bug is detected by our static analysis tool.

Fixes: cf9e60aa69ae ("net: davicom: Fix regulator not turned off on driver removal")
Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
CC: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://patch.msgid.link/20250123214213.623518-1-chenyuan0y@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/davicom/dm9000.c