[net-next v5 0/2] Prevent nullptr exceptions in ISR

From: Andre Werner
Date: Mon Jan 29 2024 - 08:58:27 EST


In case phydev->irq is modified unconditionally to a valid IRQ, handling
the IRQ may lead to a nullptr exception if no interrupt handler is
registered to the phy driver. phy_interrupt calls a
phy_device->handle_interrupt unconditionally. And interrupts are enabled
in phy_connect_direct if phydev->irq is not equal to PHY_POLL or
PHY_MAC_INTERRUPT, so it does not check for a phy driver providing an ISR.

Adding an additonal check for a valid interrupt handler in phy_attach_direct
function, and falling back to polling mode if not, should prevent for
such nullptr exceptions.

Moreover, the ADIN1100 phy driver is extended with an interrupt handler
for changes in the link status.

Andre Werner (2):
net: phy: phy_device: Prevent nullptr exceptions on ISR
net: phy: adin1100: Add interrupt support for link change

drivers/net/phy/adin1100.c | 55 ++++++++++++++++++++++++++++++++++++
drivers/net/phy/phy_device.c | 13 +++++----
2 files changed, 63 insertions(+), 5 deletions(-)

--
2.43.0