Netdev List
 help / color / mirror / Atom feed
* [PATCH] net: intel: ice: Modernize ice_vsi_free() with scope-based guard(mutex)
@ 2026-10-14 11:05 Ayush Yaduvanshi
  2026-10-14 16:36 ` Kohei Enju
  0 siblings, 1 reply; 3+ messages in thread
From: Ayush Yaduvanshi @ 2026-10-14 11:05 UTC (permalink / raw)
  To: anthony.l.nguyen
  Cc: przemyslaw.kitszel, intel-wired-lan, netdev, linux-kernel,
	Ayush Yaduvanshi

Signed-off-by: Ayush Yaduvanshi <ayush37735@gmail.com>
---
 drivers/net/ethernet/intel/ice/ice_lib.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index 9e08db376d3d..c695df442822 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -457,7 +457,7 @@ void ice_vsi_free(struct ice_vsi *vsi)
 		return;
 	}
 
-	mutex_lock(&pf->sw_mutex);
+	guard(mutex)(&pf->sw_mutex);
 	/* updates the PF for this cleared VSI */
 
 	pf->vsi[vsi->idx] = NULL;
@@ -466,7 +466,6 @@ void ice_vsi_free(struct ice_vsi *vsi)
 	ice_vsi_free_stats(vsi);
 	ice_vsi_free_arrays(vsi);
 	mutex_destroy(&vsi->xdp_state_lock);
-	mutex_unlock(&pf->sw_mutex);
 	devm_kfree(dev, vsi);
 }
 
-- 
2.53.0


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

* Re: [PATCH] net: intel: ice: Modernize ice_vsi_free() with scope-based guard(mutex)
  2026-10-14 11:05 [PATCH] net: intel: ice: Modernize ice_vsi_free() with scope-based guard(mutex) Ayush Yaduvanshi
@ 2026-10-14 16:36 ` Kohei Enju
  2026-10-14 20:22   ` Andrew Lunn
  0 siblings, 1 reply; 3+ messages in thread
From: Kohei Enju @ 2026-10-14 16:36 UTC (permalink / raw)
  To: Ayush Yaduvanshi
  Cc: anthony.l.nguyen, przemyslaw.kitszel, intel-wired-lan, netdev,
	linux-kernel

On 10/14 16:35, Ayush Yaduvanshi wrote:
> Signed-off-by: Ayush Yaduvanshi <ayush37735@gmail.com>

The commit message is missing, and this patch seems to be a clean-up
patch, which is discouraged in
Documentation/process/maintainer-netdev.rst. Also, this document says:
    Use of ``guard()`` is discouraged within any function longer than 20 lines

> ---
>  drivers/net/ethernet/intel/ice/ice_lib.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
> index 9e08db376d3d..c695df442822 100644
> --- a/drivers/net/ethernet/intel/ice/ice_lib.c
> +++ b/drivers/net/ethernet/intel/ice/ice_lib.c
> @@ -457,7 +457,7 @@ void ice_vsi_free(struct ice_vsi *vsi)
>  		return;
>  	}
>  
> -	mutex_lock(&pf->sw_mutex);
> +	guard(mutex)(&pf->sw_mutex);
>  	/* updates the PF for this cleared VSI */
>  
>  	pf->vsi[vsi->idx] = NULL;
> @@ -466,7 +466,6 @@ void ice_vsi_free(struct ice_vsi *vsi)
>  	ice_vsi_free_stats(vsi);
>  	ice_vsi_free_arrays(vsi);
>  	mutex_destroy(&vsi->xdp_state_lock);
> -	mutex_unlock(&pf->sw_mutex);
>  	devm_kfree(dev, vsi);

This also extends the critical section, as devm_kfree() is now called
while holding pf->sw_mutex.

Could you please clarify why this change is necessary?

Thanks,
Kohei

>  }
>  
> -- 
> 2.53.0
> 

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

* Re: [PATCH] net: intel: ice: Modernize ice_vsi_free() with scope-based guard(mutex)
  2026-10-14 16:36 ` Kohei Enju
@ 2026-10-14 20:22   ` Andrew Lunn
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Lunn @ 2026-10-14 20:22 UTC (permalink / raw)
  To: Kohei Enju
  Cc: Ayush Yaduvanshi, anthony.l.nguyen, przemyslaw.kitszel,
	intel-wired-lan, netdev, linux-kernel

On Thu, Oct 15, 2026 at 01:36:35AM +0900, Kohei Enju wrote:
> On 10/14 16:35, Ayush Yaduvanshi wrote:
> > Signed-off-by: Ayush Yaduvanshi <ayush37735@gmail.com>
> 
> The commit message is missing, and this patch seems to be a clean-up
> patch, which is discouraged in
> Documentation/process/maintainer-netdev.rst. Also, this document says:
>     Use of ``guard()`` is discouraged within any function longer than 20 lines
> 
> > ---
> >  drivers/net/ethernet/intel/ice/ice_lib.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
> > index 9e08db376d3d..c695df442822 100644
> > --- a/drivers/net/ethernet/intel/ice/ice_lib.c
> > +++ b/drivers/net/ethernet/intel/ice/ice_lib.c
> > @@ -457,7 +457,7 @@ void ice_vsi_free(struct ice_vsi *vsi)
> >  		return;
> >  	}
> >  
> > -	mutex_lock(&pf->sw_mutex);
> > +	guard(mutex)(&pf->sw_mutex);
> >  	/* updates the PF for this cleared VSI */
> >  
> >  	pf->vsi[vsi->idx] = NULL;
> > @@ -466,7 +466,6 @@ void ice_vsi_free(struct ice_vsi *vsi)
> >  	ice_vsi_free_stats(vsi);
> >  	ice_vsi_free_arrays(vsi);
> >  	mutex_destroy(&vsi->xdp_state_lock);
> > -	mutex_unlock(&pf->sw_mutex);
> >  	devm_kfree(dev, vsi);
> 
> This also extends the critical section, as devm_kfree() is now called
> while holding pf->sw_mutex.

This is exactly why guard() is bad and should not be used.

     Andrew

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

end of thread, other threads:[~2026-10-14 20:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-14 11:05 [PATCH] net: intel: ice: Modernize ice_vsi_free() with scope-based guard(mutex) Ayush Yaduvanshi
2026-10-14 16:36 ` Kohei Enju
2026-10-14 20:22   ` Andrew Lunn

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