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:	Mon, 13 Oct 2014 13:15:56 -0700
From:	Joe Perches <joe@...ches.com>
To:	Michael Roocroft <mike.linux@...nternet.com>
Cc:	herbert@...dor.apana.org.au, davem@...emloft.net,
	linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Crypto: gf128mul : fixed a parentheses coding style
 issue

On Mon, 2014-10-13 at 21:12 +0100, Michael Roocroft wrote:
> On 10/13/14 00:01, Joe Perches wrote:
> > On Sun, 2014-10-12 at 21:49 +0100, Mike Roocroft wrote:
> >> Fixed a coding style issue.
> > []
> >> diff --git a/crypto/gf128mul.c b/crypto/gf128mul.c
> > []
> >> @@ -97,7 +97,7 @@
> >>       the table above
> >>   */
> >>   
> >> -#define xx(p, q)	0x##p##q
> >> +#define xx(p, q)	(0x##p##q)
> >>   
> >>   #define xda_bbe(i) ( \
> >>   	(i & 0x80 ? xx(43, 80) : 0) ^ (i & 0x40 ? xx(21, c0) : 0) ^ \
> > I think that macro is pretty useless and nothing
> > but obfuscation now.
> >
> > The comment above it doesn't seem useful either.
> >
> > How about just removing and replacing the uses
> > like this?
> >
> > ---
> >   crypto/gf128mul.c | 27 ++++++++-------------------
> >   1 file changed, 8 insertions(+), 19 deletions(-)
> >
> > diff --git a/crypto/gf128mul.c b/crypto/gf128mul.c
> > index 5276607..90cf17d 100644
> > --- a/crypto/gf128mul.c
> > +++ b/crypto/gf128mul.c
> > @@ -88,29 +88,18 @@
> >   	q(0xf8), q(0xf9), q(0xfa), q(0xfb), q(0xfc), q(0xfd), q(0xfe), q(0xff) \
> >   }
> >   
> > -/*	Given the value i in 0..255 as the byte overflow when a field element
> > -    in GHASH is multiplied by x^8, this function will return the values that
> > -    are generated in the lo 16-bit word of the field value by applying the
> > -    modular polynomial. The values lo_byte and hi_byte are returned via the
> > -    macro xp_fun(lo_byte, hi_byte) so that the values can be assembled into
> > -    memory as required by a suitable definition of this macro operating on
> > -    the table above
> > -*/
> > -
> > -#define xx(p, q)	0x##p##q
> > -
> >   #define xda_bbe(i) ( \
> > -	(i & 0x80 ? xx(43, 80) : 0) ^ (i & 0x40 ? xx(21, c0) : 0) ^ \
> > -	(i & 0x20 ? xx(10, e0) : 0) ^ (i & 0x10 ? xx(08, 70) : 0) ^ \
> > -	(i & 0x08 ? xx(04, 38) : 0) ^ (i & 0x04 ? xx(02, 1c) : 0) ^ \
> > -	(i & 0x02 ? xx(01, 0e) : 0) ^ (i & 0x01 ? xx(00, 87) : 0) \
> > +	(i & 0x80 ? 0x4380 : 0) ^ (i & 0x40 ? 0x21c0 : 0) ^ \
> > +	(i & 0x20 ? 0x10e0 : 0) ^ (i & 0x10 ? 0x0870 : 0) ^ \
> > +	(i & 0x08 ? 0x0438 : 0) ^ (i & 0x04 ? 0x021c : 0) ^ \
> > +	(i & 0x02 ? 0x010e : 0) ^ (i & 0x01 ? 0x0087 : 0) \
> >   )
> >   
> >   #define xda_lle(i) ( \
> > -	(i & 0x80 ? xx(e1, 00) : 0) ^ (i & 0x40 ? xx(70, 80) : 0) ^ \
> > -	(i & 0x20 ? xx(38, 40) : 0) ^ (i & 0x10 ? xx(1c, 20) : 0) ^ \
> > -	(i & 0x08 ? xx(0e, 10) : 0) ^ (i & 0x04 ? xx(07, 08) : 0) ^ \
> > -	(i & 0x02 ? xx(03, 84) : 0) ^ (i & 0x01 ? xx(01, c2) : 0) \
> > +	(i & 0x80 ? 0xe100 : 0) ^ (i & 0x40 ? 0x7080 : 0) ^ \
> > +	(i & 0x20 ? 0x3840 : 0) ^ (i & 0x10 ? 0x1c20 : 0) ^ \
> > +	(i & 0x08 ? 0x0e10 : 0) ^ (i & 0x04 ? 0x0708 : 0) ^ \
> > +	(i & 0x02 ? 0x0384 : 0) ^ (i & 0x01 ? 0x01c2 : 0) \
> >   )
> >   
> >   static const u16 gf128mul_table_lle[256] = gf128mul_dat(xda_lle);
> >
> >
> >
> Hi there,

Hi Mike.

> I'm not really contributing anything other than getting code checkpatch clean, whilst
> I relearn C and get a feel for various parts of the kernel.

checkpatch cleanliness, while OK for some parts of the
kernel, should not be an end-goal.

checkpatch is really a tool to "check patches".

If you want to submit neatening only patches, please
do your changes in drivers/staging/

Otherwise, please look for code that isn't simply a
style neatening bit, but something that actively makes
reading the code easier, makes the object code smaller
or faster, reduces complexity, adds extensibility,
etc, etc...

cheers, Joe



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ