summaryrefslogtreecommitdiff
path: root/net/kcm
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2017-02-08 19:05:26 -0800
committerDavid S. Miller <davem@davemloft.net>2017-02-09 16:22:12 -0500
commit6d9f66ac7fec2a6ccd649e5909806dfe36f1fc25 (patch)
treeeee88d8cc491a121d8c587caebd7503fd5bb03e5 /net/kcm
parent075ad765ef7541b2860de8408c165a92b78aefa3 (diff)
net: phy: Fix PHY module checks and NULL deref in phy_attach_direct()
The Generic PHY drivers gets assigned after we checked that the current PHY driver is NULL, so we need to check a few things before we can safely dereference d->driver. This would be causing a NULL deference to occur when a system binds to the Generic PHY driver. Update phy_attach_direct() to do the following: - grab the driver module reference after we have assigned the Generic PHY drivers accordingly, and remember we came from the generic PHY path - update the error path to clean up the module reference in case the Generic PHY probe function fails - split the error path involving phy_detacht() to avoid double free/put since phy_detach() does all the clean up - finally, have phy_detach() drop the module reference count before we call device_release_driver() for the Generic PHY driver case Fixes: cafe8df8b9bc ("net: phy: Fix lack of reference count on PHY driver") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/kcm')
0 files changed, 0 insertions, 0 deletions