2023-01-06 14:16:39

by Clément Léger

[permalink] [raw]
Subject: [PATCH] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()

If ptp was not enabled due to missing IRQ for instance,
lan966x_ptp_deinit() will dereference NULL pointers.

Fixes: d096459494a8 ("net: lan966x: Add support for ptp clocks")
Signed-off-by: Clément Léger <[email protected]>
---
drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
index f9ebfaafbebc..a8348437dd87 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
@@ -1073,6 +1073,9 @@ void lan966x_ptp_deinit(struct lan966x *lan966x)
struct lan966x_port *port;
int i;

+ if (!lan966x->ptp)
+ return;
+
for (i = 0; i < lan966x->num_phys_ports; i++) {
port = lan966x->ports[i];
if (!port)
--
2.38.1


2023-01-06 20:38:01

by Clément Léger

[permalink] [raw]
Subject: Re: [PATCH] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()

Le 2023-01-06 21:21, Horatiu Vultur a écrit :
> The 01/06/2023 14:48, Clément Léger wrote:
>
> Hi Clement,
>
>>
>> If ptp was not enabled due to missing IRQ for instance,
>> lan966x_ptp_deinit() will dereference NULL pointers.
>>
>> Fixes: d096459494a8 ("net: lan966x: Add support for ptp clocks")
>> Signed-off-by: Clément Léger <[email protected]>
>
> You forgot to mark the patch to target the net tree. But other
> than that looks good.

Hi Horatiu,

I'll resent a V2 to the net tree then. Thanks for reviewing.

Clément

>
> Reviewed-by: Horatiu Vultur <[email protected]>
>
>> ---
>> drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
>> b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
>> index f9ebfaafbebc..a8348437dd87 100644
>> --- a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
>> +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
>> @@ -1073,6 +1073,9 @@ void lan966x_ptp_deinit(struct lan966x *lan966x)
>> struct lan966x_port *port;
>> int i;
>>
>> + if (!lan966x->ptp)
>> + return;
>> +
>> for (i = 0; i < lan966x->num_phys_ports; i++) {
>> port = lan966x->ports[i];
>> if (!port)
>> --
>> 2.38.1
>>

2023-01-06 21:11:38

by Horatiu Vultur

[permalink] [raw]
Subject: Re: [PATCH] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()

The 01/06/2023 14:48, Clément Léger wrote:

Hi Clement,

>
> If ptp was not enabled due to missing IRQ for instance,
> lan966x_ptp_deinit() will dereference NULL pointers.
>
> Fixes: d096459494a8 ("net: lan966x: Add support for ptp clocks")
> Signed-off-by: Clément Léger <[email protected]>

You forgot to mark the patch to target the net tree. But other
than that looks good.

Reviewed-by: Horatiu Vultur <[email protected]>

> ---
> drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
> index f9ebfaafbebc..a8348437dd87 100644
> --- a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
> +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
> @@ -1073,6 +1073,9 @@ void lan966x_ptp_deinit(struct lan966x *lan966x)
> struct lan966x_port *port;
> int i;
>
> + if (!lan966x->ptp)
> + return;
> +
> for (i = 0; i < lan966x->num_phys_ports; i++) {
> port = lan966x->ports[i];
> if (!port)
> --
> 2.38.1
>

--
/Horatiu