]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: stmmac: fix PTP error cleanup in __stmmac_open()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 11 Sep 2025 11:09:47 +0000 (12:09 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sun, 14 Sep 2025 19:01:00 +0000 (12:01 -0700)
commit454bbe5913b2c56a3b4c5bf85138b5382ba8b8e6
tree5045392fbea495a38d9c3f8258bac71350d28c36
parent99a8789afd1251f3b712f412661770e702ec7dbd
net: stmmac: fix PTP error cleanup in __stmmac_open()

The cleanup function for stmmac_setup_ptp() is stmmac_release_ptp()
which entirely undoes the effects of stmmac_setup_ptp() by
unregistering the PTP device and then stopping the PTP clock,
whereas stmmac_hw_teardown() will only stop the PTP clock while
leaving the PTP device registered.

This can lead to a kernel oops - if __stmmac_open() fails after
registering the PTP clock, the PTP device will remain registered,
and if the module is removed, subsequent PTP device accesses will
lead to a kernel oops.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c