linux_dsm_epyc7002/drivers/net
Florian Fainelli 6d9f66ac7f 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: cafe8df8b9 ("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>
2017-02-09 16:22:12 -05:00
..
appletalk net/appletalk: Fix kernel memory disclosure 2017-01-09 16:34:39 -05:00
arcnet
bonding netns: make struct pernet_operations::id unsigned int 2016-11-18 10:59:15 -05:00
caif
can can: ti_hecc: add missing prepare and unprepare of the clock 2017-01-18 13:03:15 +01:00
cris
dsa net: dsa: bcm_sf2: Utilize nested MDIO read/write 2017-01-08 22:01:22 -05:00
ethernet net: thunderx: Fix PHY autoneg for SGMII QLM mode 2017-02-08 15:47:37 -05:00
fddi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
fjes
hamradio Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hippi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hyperv Char/misc driver fixes for 4.10-rc7 2017-02-04 10:44:15 -08:00
ieee802154 ieee802154: atusb: fix driver to work with older firmware versions 2017-01-12 22:12:43 +01:00
ipvlan ipvlan: fix multicast processing 2016-12-23 17:53:47 -05:00
irda Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
phy net: phy: Fix PHY module checks and NULL deref in phy_attach_direct() 2017-02-09 16:22:12 -05:00
plip
ppp Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
slip Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
team
usb catc: Use heap buffer for memory size test 2017-02-07 10:07:02 -05:00
vmxnet3 Updates for 4.10 kernel merge window 2016-12-15 12:03:32 -08:00
wan net: wan: slic_ds26522: fix spelling mistake: "configurated" -> "configured" 2016-12-28 15:12:20 -05:00
wimax
wireless rtlwifi: rtl8192ce: Fix loading of incorrect firmware 2017-01-31 09:05:25 +02:00
xen-netback xen-netback: protect resource cleaning on XenBus disconnect 2017-01-18 15:11:20 -05:00
dummy.c dummy: expend mtu range for dummy device 2016-12-07 13:29:45 -05:00
eql.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
geneve.c geneve: avoid use-after-free of skb->data 2016-12-02 14:07:11 -05:00
gtp.c gtp: fix cross netns recv on gtp socket 2017-01-27 10:39:09 -05:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: introduce device min_header_len 2017-02-08 13:56:37 -05:00
macsec.c macsec: remove first zero and add attribute name in comments 2016-12-08 13:08:21 -05:00
macvlan.c driver: macvlan: Remove the rcu member of macvlan_port 2016-12-07 13:22:07 -05:00
macvtap.c macvtap: read vnet_hdr_size once 2017-02-06 22:41:27 -05:00
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c nlmon: use core MTU range checking in nlmon driver 2016-12-07 13:28:26 -05:00
ntb_netdev.c
rionet.c
sb1000.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
Space.c
sungem_phy.c
tun.c tun: read vnet_hdr_sz once 2017-02-06 22:41:27 -05:00
veth.c
virtio_net.c virtio_net: reject XDP programs using header adjustment 2017-01-25 22:48:40 -05:00
vrf.c net: vrf: do not allow table id 0 2017-01-11 10:04:01 -05:00
vxlan.c vxlan: do not age static remote mac entries 2017-01-24 15:01:58 -05:00
xen-netfront.c xen-netfront: Fix Rx stall during network stress and OOM 2017-01-20 14:08:39 -05:00