Revision 6d9f66ac7fec2a6ccd649e5909806dfe36f1fc25 authored by Florian Fainelli on 09 February 2017, 03:05:26 UTC, committed by David S. Miller on 09 February 2017, 21:22:12 UTC
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>
1 parent 075ad76
File | Mode | Size |
---|---|---|
asm | ||
linux | ||
ringtest | ||
uapi | ||
vhost_test | ||
virtio-trace | ||
.gitignore | -rw-r--r-- | 28 bytes |
Makefile | -rw-r--r-- | 594 bytes |
virtio_test.c | -rw-r--r-- | 6.7 KB |
vringh_test.c | -rw-r--r-- | 19.8 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...