lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240607182414.GH27689@kernel.org>
Date: Fri, 7 Jun 2024 19:24:14 +0100
From: Simon Horman <horms@...nel.org>
To: Diogo Ivo <diogo.ivo@...mens.com>
Cc: MD Danish Anwar <danishanwar@...com>, Roger Quadros <rogerq@...nel.org>,
	"David S. Miller" <davem@...emloft.net>,
	Eric Dumazet <edumazet@...gle.com>,
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
	Richard Cochran <richardcochran@...il.com>,
	Nishanth Menon <nm@...com>, Vignesh Raghavendra <vigneshr@...com>,
	Tero Kristo <kristo@...nel.org>, Rob Herring <robh@...nel.org>,
	Krzysztof Kozlowski <krzk+dt@...nel.org>,
	Conor Dooley <conor+dt@...nel.org>,
	Jan Kiszka <jan.kiszka@...mens.com>,
	Jacob Keller <jacob.e.keller@...el.com>,
	linux-arm-kernel@...ts.infradead.org, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH net-next v3 2/4] net: ti: icss-iep: Remove spinlock-based
 synchronization

On Fri, Jun 07, 2024 at 02:02:43PM +0100, Diogo Ivo wrote:
> As all sources of concurrency in hardware register access occur in
> non-interrupt context eliminate spinlock-based synchronization and
> rely on the mutex-based synchronization that is already present.
> 
> Signed-off-by: Diogo Ivo <diogo.ivo@...mens.com>
> ---
>  drivers/net/ethernet/ti/icssg/icss_iep.c | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ti/icssg/icss_iep.c b/drivers/net/ethernet/ti/icssg/icss_iep.c
> index 3025e9c18970..1d6ccdf2583f 100644
> --- a/drivers/net/ethernet/ti/icssg/icss_iep.c
> +++ b/drivers/net/ethernet/ti/icssg/icss_iep.c
> @@ -110,7 +110,6 @@ struct icss_iep {
>  	struct ptp_clock_info ptp_info;
>  	struct ptp_clock *ptp_clock;
>  	struct mutex ptp_clk_mutex;	/* PHC access serializer */
> -	spinlock_t irq_lock; /* CMP IRQ vs icss_iep_ptp_enable access */
>  	u32 def_inc;
>  	s16 slow_cmp_inc;
>  	u32 slow_cmp_count;
> @@ -199,7 +198,6 @@ static void icss_iep_settime(struct icss_iep *iep, u64 ns)
>  		return;
>  	}
>  
> -	spin_lock_irqsave(&iep->irq_lock, flags);
>  	if (iep->pps_enabled || iep->perout_enabled)
>  		writel(0, iep->base + iep->plat_data->reg_offs[ICSS_IEP_SYNC_CTRL_REG]);
>  
> @@ -210,7 +208,6 @@ static void icss_iep_settime(struct icss_iep *iep, u64 ns)
>  		writel(IEP_SYNC_CTRL_SYNC_N_EN(0) | IEP_SYNC_CTRL_SYNC_EN,
>  		       iep->base + iep->plat_data->reg_offs[ICSS_IEP_SYNC_CTRL_REG]);
>  	}
> -	spin_unlock_irqrestore(&iep->irq_lock, flags);
>  }
>  
>  /**

Hi Diogo,

This is not a full review, but flags is now unused in icss_iep_settime()
and should be removed.  Likewise in icss_iep_perout_enable() and
icss_iep_pps_enable().

Flagged by W=1 builds with gcc-13 and clang-18.

...

-- 
pw-bot: changes-requested

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ