* [PATCH] net: phy: fix phy_get_internal_delay accessing an empty array
@ 2024-03-07 8:52 Kévin L'hôpital
2024-03-07 9:53 ` Russell King (Oracle)
0 siblings, 1 reply; 3+ messages in thread
From: Kévin L'hôpital @ 2024-03-07 8:52 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Dan Murphy
Cc: netdev, linux-kernel, Kévin L'hôpital,
Enguerrand de Ribaucourt
The phy_get_internal_delay function could try to access to an empty
array in the case that the driver is calling phy_get_internal_delay
without defining delay_values and rx-internal-delay-ps or
tx-internal-delay-ps is defined to 0 in the device-tree.
This will lead to "unable to handle kernel NULL pointer dereference at
virtual address 0". To avoid this kernel oops, the test should be delay
>= 0. As there is already delay < 0 test just before, the test could
only be size == 0.
Fixes: 92252eec913b ("net: phy: Add a helper to return the index for of the internal delay")
Signed-off-by: Kévin L'hôpital <kevin.lhopital@savoirfairelinux.com>
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
---
drivers/net/phy/phy_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 3611ea64875e..3ad9bbf65cbe 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -2959,7 +2959,7 @@ s32 phy_get_internal_delay(struct phy_device *phydev, struct device *dev,
if (delay < 0)
return delay;
- if (delay && size == 0)
+ if (size == 0)
return delay;
if (delay < delay_values[0] || delay > delay_values[size - 1]) {
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] net: phy: fix phy_get_internal_delay accessing an empty array
2024-03-07 8:52 [PATCH] net: phy: fix phy_get_internal_delay accessing an empty array Kévin L'hôpital
@ 2024-03-07 9:53 ` Russell King (Oracle)
2024-03-07 10:47 ` Kévin L'hôpital
0 siblings, 1 reply; 3+ messages in thread
From: Russell King (Oracle) @ 2024-03-07 9:53 UTC (permalink / raw)
To: Kévin L'hôpital
Cc: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Dan Murphy, netdev, linux-kernel,
Enguerrand de Ribaucourt
On Thu, Mar 07, 2024 at 09:52:54AM +0100, Kévin L'hôpital wrote:
> The phy_get_internal_delay function could try to access to an empty
> array in the case that the driver is calling phy_get_internal_delay
> without defining delay_values and rx-internal-delay-ps or
> tx-internal-delay-ps is defined to 0 in the device-tree.
> This will lead to "unable to handle kernel NULL pointer dereference at
> virtual address 0". To avoid this kernel oops, the test should be delay
> >= 0. As there is already delay < 0 test just before, the test could
> only be size == 0.
>
> Fixes: 92252eec913b ("net: phy: Add a helper to return the index for of the internal delay")
> Signed-off-by: Kévin L'hôpital <kevin.lhopital@savoirfairelinux.com>
> Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
The sign-offs look wrong to me. They indicate the path that the patch is
taking to be merged into mainline. Who is the author of this patch and
who is passing it along? If it's co-development, then there is a specific
tag for that.
For the actual patch itself:
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thanks!
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] net: phy: fix phy_get_internal_delay accessing an empty array
2024-03-07 9:53 ` Russell King (Oracle)
@ 2024-03-07 10:47 ` Kévin L'hôpital
0 siblings, 0 replies; 3+ messages in thread
From: Kévin L'hôpital @ 2024-03-07 10:47 UTC (permalink / raw)
To: Russell King (Oracle)
Cc: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Dan Murphy, netdev, linux-kernel,
Enguerrand de Ribaucourt
----- Le 7 Mar 24, à 10:53, Russell King (Oracle) linux@armlinux.org.uk a écrit :
> On Thu, Mar 07, 2024 at 09:52:54AM +0100, Kévin L'hôpital wrote:
>> The phy_get_internal_delay function could try to access to an empty
>> array in the case that the driver is calling phy_get_internal_delay
>> without defining delay_values and rx-internal-delay-ps or
>> tx-internal-delay-ps is defined to 0 in the device-tree.
>> This will lead to "unable to handle kernel NULL pointer dereference at
>> virtual address 0". To avoid this kernel oops, the test should be delay
>> >= 0. As there is already delay < 0 test just before, the test could
>> only be size == 0.
>>
>> Fixes: 92252eec913b ("net: phy: Add a helper to return the index for of the
>> internal delay")
>> Signed-off-by: Kévin L'hôpital <kevin.lhopital@savoirfairelinux.com>
>> Signed-off-by: Enguerrand de Ribaucourt
>> <enguerrand.de-ribaucourt@savoirfairelinux.com>
>
> The sign-offs look wrong to me. They indicate the path that the patch is
> taking to be merged into mainline. Who is the author of this patch and
> who is passing it along? If it's co-development, then there is a specific
> tag for that.
>
> For the actual patch itself:
>
> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
>
> Thanks!
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
I will send a V2 fixing this, thank you.
Kévin L'hôpital
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-03-07 10:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-07 8:52 [PATCH] net: phy: fix phy_get_internal_delay accessing an empty array Kévin L'hôpital
2024-03-07 9:53 ` Russell King (Oracle)
2024-03-07 10:47 ` Kévin L'hôpital
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).