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]
Date: Tue, 05 Dec 2023 10:28:56 +0100
From: Paolo Abeni <pabeni@...hat.com>
To: Simon Horman <horms@...nel.org>, Min Li <lnimi@...mail.com>
Cc: richardcochran@...il.com, lee@...nel.org, linux-kernel@...r.kernel.org, 
	netdev@...r.kernel.org, Min Li <min.li.xe@...esas.com>
Subject: Re: [PATCH net-next v6 1/6] ptp: clockmatrix: support 32-bit
 address space

On Tue, 2023-12-05 at 09:24 +0000, Simon Horman wrote:
> On Thu, Nov 30, 2023 at 01:46:29PM -0500, Min Li wrote:
> > From: Min Li <min.li.xe@...esas.com>
> > 
> > We used to assume 0x2010xxxx address. Now that
> > we need to access 0x2011xxxx address, we need
> > to support read/write the whole 32-bit address space.
> > 
> > Signed-off-by: Min Li <min.li.xe@...esas.com>
> 
> ...
> 
> > diff --git a/drivers/ptp/ptp_clockmatrix.c b/drivers/ptp/ptp_clockmatrix.c
> > index f6f9d4adce04..f8556627befa 100644
> > --- a/drivers/ptp/ptp_clockmatrix.c
> > +++ b/drivers/ptp/ptp_clockmatrix.c
> > @@ -41,8 +41,8 @@ module_param(firmware, charp, 0);
> >  static int _idtcm_adjfine(struct idtcm_channel *channel, long scaled_ppm);
> >  
> >  static inline int idtcm_read(struct idtcm *idtcm,
> > -			     u16 module,
> > -			     u16 regaddr,
> > +			     u32 module,
> > +			     u32 regaddr,
> >  			     u8 *buf,
> >  			     u16 count)
> >  {
> > @@ -50,8 +50,8 @@ static inline int idtcm_read(struct idtcm *idtcm,
> >  }
> >  
> >  static inline int idtcm_write(struct idtcm *idtcm,
> > -			      u16 module,
> > -			      u16 regaddr,
> > +			      u32 module,
> > +			      u32 regaddr,
> >  			      u8 *buf,
> >  			      u16 count)
> >  {
> 
> Hi Min Li,
> 
> My understanding of Paolo's review of v5 was that it would be cleaner to:
> 
> 1. Leave the type of the module parameter as u16
> 2. Update the type of the regaddr parameter to u32

[almost over the air conflict here ;) ]

I think the module parameter as u32 is needed, as later macro
definitions will leverage that.

> 
> And...
> 
> ...
> 
> > @@ -553,11 +554,11 @@ static int _sync_pll_output(struct idtcm *idtcm,
> >  	val = SYNCTRL1_MASTER_SYNC_RST;
> >  
> >  	/* Place master sync in reset */
> > -	err = idtcm_write(idtcm, 0, sync_ctrl1, &val, sizeof(val));
> > +	err = idtcm_write(idtcm, sync_ctrl1, 0, &val, sizeof(val));
> >  	if (err)
> >  		return err;
> >  
> > -	err = idtcm_write(idtcm, 0, sync_ctrl0, &sync_src, sizeof(sync_src));
> > +	err = idtcm_write(idtcm, sync_ctrl0, 0, &sync_src, sizeof(sync_src));
> >  	if (err)
> >  		return err;
> >  
> 
> ... avoid the need for changes like the two above.

This part is correct/what I meant ;)

Cheers,

Paolo


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ