public inbox for intel-wired-lan@osuosl.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net] i40e: Cleanup PTP upon probe failure
@ 2026-04-04 15:19 Matt Vollrath
  2026-04-05 17:03 ` Kohei Enju
  0 siblings, 1 reply; 3+ messages in thread
From: Matt Vollrath @ 2026-04-04 15:19 UTC (permalink / raw)
  To: intel-wired-lan

Fix two conditions which would leak PTP registration on probe failure:

1. i40e_setup_pf_switch can encounter an error in
    i40e_setup_pf_filter_control, call i40e_ptp_init, then return
    non-zero, sending i40e_probe to err_vsis.

2. i40e_setup_misc_vector can return non-zero, sending i40e_probe to
    err_vsis.

Found with coccinelle.

Signed-off-by: Matt Vollrath <tactii@gmail.com>
---
  drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 598739220dfb..dacdf5fad2ea 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -16112,6 +16112,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
  	/* Unwind what we've done if something failed in the setup */
  err_vsis:
  	set_bit(__I40E_DOWN, pf->state);
+	i40e_ptp_stop(pf);
  	i40e_clear_interrupt_scheme(pf);
  	kfree(pf->vsi);
  err_switch_setup:
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Intel-wired-lan] [PATCH net] i40e: Cleanup PTP upon probe failure
  2026-04-04 15:19 [Intel-wired-lan] [PATCH net] i40e: Cleanup PTP upon probe failure Matt Vollrath
@ 2026-04-05 17:03 ` Kohei Enju
  2026-04-05 17:31   ` Matt Vollrath
  0 siblings, 1 reply; 3+ messages in thread
From: Kohei Enju @ 2026-04-05 17:03 UTC (permalink / raw)
  To: Matt Vollrath; +Cc: intel-wired-lan

On 04/04 11:19, Matt Vollrath wrote:
> Fix two conditions which would leak PTP registration on probe failure:
> 
> 1. i40e_setup_pf_switch can encounter an error in
>    i40e_setup_pf_filter_control, call i40e_ptp_init, then return
>    non-zero, sending i40e_probe to err_vsis.
> 
> 2. i40e_setup_misc_vector can return non-zero, sending i40e_probe to
>    err_vsis.
> 
> Found with coccinelle.
> 

Isn't a Fixes: tag needed?

> Signed-off-by: Matt Vollrath <tactii@gmail.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 598739220dfb..dacdf5fad2ea 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -16112,6 +16112,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  	/* Unwind what we've done if something failed in the setup */
>  err_vsis:
>  	set_bit(__I40E_DOWN, pf->state);
> +	i40e_ptp_stop(pf);

Perhaps this is a separate issue from this one, but if i40e_probe()
fails and jumps to err_switch_setup, doesn't pf->ptp_pins leak?

Also, maybe because I'm not very familiar with this driver, I don't
understand why i40e_ptp_alloc_pins() is called this early, outside of
i40e_ptp_init(). It seems to make the error-path handling a bit more
complicated.

>  	i40e_clear_interrupt_scheme(pf);
>  	kfree(pf->vsi);
>  err_switch_setup:
> -- 
> 2.43.0

This diff seems mangled, and doesn't apply to my local trees.

Email header says:
  User-Agent: Mozilla Thunderbird
  ...
  Content-Type: text/plain; charset=UTF-8; format=flowed

It may be worth disabling format=flowed if you use Thunderbird.
See also: https://docs.kernel.org/process/email-clients.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Intel-wired-lan] [PATCH net] i40e: Cleanup PTP upon probe failure
  2026-04-05 17:03 ` Kohei Enju
@ 2026-04-05 17:31   ` Matt Vollrath
  0 siblings, 0 replies; 3+ messages in thread
From: Matt Vollrath @ 2026-04-05 17:31 UTC (permalink / raw)
  To: Kohei Enju; +Cc: intel-wired-lan

On 4/5/26 13:03, Kohei Enju wrote:
> Isn't a Fixes: tag needed?

I will do the forensics and find where at least one of these conditions
was introduced.

> Perhaps this is a separate issue from this one, but if i40e_probe()
> fails and jumps to err_switch_setup, doesn't pf->ptp_pins leak?
> 
> Also, maybe because I'm not very familiar with this driver, I don't
> understand why i40e_ptp_alloc_pins() is called this early, outside of
> i40e_ptp_init(). It seems to make the error-path handling a bit more
> complicated.

I will look at this, and if I can fix it by adding a pin teardown call
to the probe exit path, I will add it.

I don't have hardware to test this with, so I am treading lightly and
not changing anything about the order of operations on the way up.

> This diff seems mangled, and doesn't apply to my local trees.
> 
> Email header says:
>    User-Agent: Mozilla Thunderbird
>    ...
>    Content-Type: text/plain; charset=UTF-8; format=flowed
> 
> It may be worth disabling format=flowed if you use Thunderbird.
> See also: https://docs.kernel.org/process/email-clients.html

It seems like setting up git for email will be the path of least
resistance for patches, so I will do that.

Thank you for the feedback.
mv


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-04-05 18:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-04 15:19 [Intel-wired-lan] [PATCH net] i40e: Cleanup PTP upon probe failure Matt Vollrath
2026-04-05 17:03 ` Kohei Enju
2026-04-05 17:31   ` Matt Vollrath

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox