Re: net: phy: realtek: regression, kernel null pointer dereference

From: Vicente Bergas
Date: Fri May 10 2019 - 17:20:21 EST


On Friday, May 10, 2019 10:28:06 PM CEST, Heiner Kallweit wrote:
On 10.05.2019 17:05, Vicente Bergas wrote:
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 ...
The page operation callbacks are missing in the RTL8211E driver.
I just submitted a fix adding these callbacks to few Realtek PHY drivers
including RTl8211E. This should fix the issue.

Thanks for fixing it so fast!

Nevertheless your proposed patch looks good to me, just one small change
would be needed and it should be splitted.

The diff on the first mail was just to show which steps i did to debug the
issue, it was not intended to be applied.

Regards,
VicenÃ.

The change to phy-core I would consider a fix and it should be fine to
submit it to net (net-next is closed currently).

Adding the warning to the Realtek driver is fine, but this would be
something for net-next once it's open again.

Regards,
VicenÃ.

Heiner

--- 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)
{ ...

Here phydev_warn() should be used.

+ return 0;
+ }

ret = phy_write(phydev, RTL821x_EXT_PAGE_SELECT, 0xa4);
if (ret)