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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 27 Aug 2016 15:36:15 +0000
From:   Jason Cooper <jason@...edaemon.net>
To:     LABBE Corentin <clabbe.montjoie@...il.com>
Cc:     mpm@...enic.com, herbert@...dor.apana.org.au,
        linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 6/8] hwrng: amd: Replace global variable with private
 struct

On Sat, Aug 27, 2016 at 02:43:31PM +0000, Jason Cooper wrote:
> Hi Corentin,
> 
> On Fri, Aug 26, 2016 at 01:11:34PM +0200, LABBE Corentin wrote:
> > Instead of having two global variable, it's better to use a
> > private struct. This will permit to remove amd_pdev variable
> > 
> > Signed-off-by: LABBE Corentin <clabbe.montjoie@...il.com>
> > ---
> >  drivers/char/hw_random/amd-rng.c | 57 ++++++++++++++++++++++++++--------------
> >  1 file changed, 38 insertions(+), 19 deletions(-)
> > 
> > diff --git a/drivers/char/hw_random/amd-rng.c b/drivers/char/hw_random/amd-rng.c
> > index 383e197..4ef94e9 100644
> > --- a/drivers/char/hw_random/amd-rng.c
> > +++ b/drivers/char/hw_random/amd-rng.c
> > @@ -47,15 +47,18 @@ static const struct pci_device_id pci_tbl[] = {
> >  };
> >  MODULE_DEVICE_TABLE(pci, pci_tbl);
> >  
> > -static struct pci_dev *amd_pdev;
> > +struct amd768_priv {
> > +	struct pci_dev *pcidev;
> > +	u32 pmbase;
> > +};
> >  
> >  static int amd_rng_data_present(struct hwrng *rng, int wait)
> >  {
> > -	u32 pmbase = (u32)rng->priv;
> > +	struct amd768_priv *priv = (struct amd768_priv *)rng->priv;
> 
> Please remove unnecessary casts...

Hmm, I was assuming that, like other places in the tree, that priv was
declared void*.  However, it's unsigned long in hw_random.h.

And, it looks like all users cast it.  Either to a struct, or to a void
__iomem *.

So ignore what I said in my previous email.  You can add my reviewed-by
without change.

It does look like /priv/ s/unsigned long/void */ would be a great
cleanup.

thx,

Jason.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ