linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* net: phy: realtek: regression, kernel null pointer dereference
@ 2019-05-10 15:05 Vicente Bergas
  2019-05-10 20:28 ` Heiner Kallweit
  2019-05-10 21:04 ` Russell King - ARM Linux admin
  0 siblings, 2 replies; 18+ messages in thread
From: Vicente Bergas @ 2019-05-10 15:05 UTC (permalink / raw)
  To: Serge Semin, Russell King, Andrew Lunn, Florian Fainelli,
	Heiner Kallweit
  Cc: netdev, linux-kernel

Hello,
there is a regression on linux v5.1-9573-gb970afcfcabd with a kernel null
pointer dereference.
The issue is the commit f81dadbcf7fd067baf184b63c179fc392bdb226e
  net: phy: realtek: Add rtl8211e rx/tx delays config
which uncovered a bug in phy-core when attempting to call
  phydev->drv->read_page
which can be null.
The patch to drivers/net/phy/phy-core.c below fixes the kernel null pointer
dereference. After applying the patch, there is still no network. I have
also tested the patch to drivers/net/phy/realtek.c, but no success. The
system hangs forever while initializing eth0.

Any suggestions?

Regards,
  Vicenç.

--- a/drivers/net/phy/phy-core.c
+++ b/drivers/net/phy/phy-core.c
@@ -648,11 +648,17 @@
 
 static int __phy_read_page(struct phy_device *phydev)
 {
+	if (!phydev->drv->read_page)
+		return -EOPNOTSUPP;
+	
 	return phydev->drv->read_page(phydev);
 }
 
 static int __phy_write_page(struct phy_device *phydev, int page)
 {
+	if (!phydev->drv->write_page)
+		return -EOPNOTSUPP;
+
 	return phydev->drv->write_page(phydev, page);
 }
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -214,8 +214,10 @@
 	 * for details).
 	 */
 	oldpage = phy_select_page(phydev, 0x7);
-	if (oldpage < 0)
-		goto err_restore_page;
+	if (oldpage < 0) {
+		dev_warn(&phydev->mdio.dev, "Unable to set rgmii delays\n");
+		return 0;
+	}
 
 	ret = phy_write(phydev, RTL821x_EXT_PAGE_SELECT, 0xa4);
 	if (ret)


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2019-05-13 13:33 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-10 15:05 net: phy: realtek: regression, kernel null pointer dereference Vicente Bergas
2019-05-10 20:28 ` Heiner Kallweit
2019-05-10 21:18   ` Vicente Bergas
2019-05-11 14:46   ` Vicente Bergas
2019-05-11 14:56     ` Heiner Kallweit
2019-05-11 15:06       ` Vicente Bergas
2019-05-13 10:29         ` Serge Semin
2019-05-13 10:51           ` Serge Semin
2019-05-13 12:19             ` Vicente Bergas
2019-05-13 12:42               ` Serge Semin
2019-05-13 12:51                 ` Andrew Lunn
2019-05-13 13:01                   ` Serge Semin
2019-05-13 13:33                     ` Vicente Bergas
2019-05-13  7:29       ` Serge Semin
2019-05-11 15:08     ` Andrew Lunn
2019-05-11 15:16       ` Vicente Bergas
2019-05-11 15:25         ` Andrew Lunn
2019-05-10 21:04 ` Russell King - ARM Linux admin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).