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

Clément Léger posted 1 patch 2 years, 8 months ago
There is a newer version of this series
drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()
Posted by Clément Léger 2 years, 8 months ago
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 <clement.leger@bootlin.com>
---
 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

Re: [PATCH] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()
Posted by Horatiu Vultur 2 years, 8 months ago
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 <clement.leger@bootlin.com>

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

Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>

> ---
>  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
Re: [PATCH] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()
Posted by clement.leger@bootlin.com 2 years, 8 months ago
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 <clement.leger@bootlin.com>
> 
> 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 <horatiu.vultur@microchip.com>
> 
>> ---
>>  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
>>