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: <20251128105047.5e54f463@kmaincent-XPS-13-7390>
Date: Fri, 28 Nov 2025 10:50:47 +0100
From: Kory Maincent <kory.maincent@...tlin.com>
To: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
Cc: Andrew Lunn <andrew+netdev@...n.ch>, Russell King
 <linux@...linux.org.uk>, Heiner Kallweit <hkallweit1@...il.com>, "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>, Andrew Lunn <andrew@...n.ch>, Simon
 Horman <horms@...nel.org>, Vladimir Oltean <vladimir.oltean@....com>, Jacob
 Keller <jacob.e.keller@...el.com>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts
 config logic

On Thu, 27 Nov 2025 21:12:44 +0000
Vadim Fedorenko <vadim.fedorenko@...ux.dev> wrote:

> The driver stores new HW timestamping configuration values
> unconditionally and may create inconsistency with what is actually
> configured in case of error. Improve the logic to store new values only
> once everything is configured.
> 
> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
> ---
>  drivers/net/phy/microchip_rds_ptp.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/phy/microchip_rds_ptp.c
> b/drivers/net/phy/microchip_rds_ptp.c index 4c6326b0ceaf..6b0933ef9142 100644
> --- a/drivers/net/phy/microchip_rds_ptp.c
> +++ b/drivers/net/phy/microchip_rds_ptp.c
> @@ -488,9 +488,6 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, unsigned long flags;
>  	int rc;
>  
> -	clock->hwts_tx_type = config->tx_type;
> -	clock->rx_filter = config->rx_filter;
> -
>  	switch (config->rx_filter) {
>  	case HWTSTAMP_FILTER_NONE:
>  		clock->layer = 0;
> @@ -553,7 +550,7 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, if (rc < 0)
>  		return rc;
>  
> -	if (clock->hwts_tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
> +	if (config->tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
>  		/* Enable / disable of the TX timestamp in the SYNC frames */
>  		rc = mchp_rds_phy_modify_mmd(clock, MCHP_RDS_PTP_TX_MOD,
>  					     MCHP_RDS_PTP_PORT,
> @@ -587,8 +584,13 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, /* Now enable the timestamping interrupts */
>  	rc = mchp_rds_ptp_config_intr(clock,
>  				      config->rx_filter !=
> HWTSTAMP_FILTER_NONE);
> +	if (rc < 0)
> +		return rc;
>  
> -	return rc < 0 ? rc : 0;
> +	clock->hwts_tx_type = config->tx_type;
> +	clock->rx_filter = config->rx_filter;

Same here, there is no check over HWTSTAMP_TX_ONESTEP_P2P. You should add
capabilities check.

Regards,

> +	return 0;
>  }
>  
>  static int mchp_rds_ptp_ts_info(struct mii_timestamper *mii_ts,



-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ