Re: [PATCH 04/04] Add LRW

From: Fruhwirth Clemens
Date: Sun Jan 30 2005 - 06:50:43 EST


On Sat, 2005-01-29 at 16:02 -0800, Matt Mackall wrote:
> On Mon, Jan 24, 2005 at 12:57:50PM +0100, Fruhwirth Clemens wrote:
> > This is the core of my LRW patch. Added test vectors.
> > http://grouper.ieee.org/groups/1619/email/pdf00017.pdf
>
> Please include a URL for the standard at the top of the LRW code and
> next to the test vectors. I had to search around a fair bit for decent
> background material, would be helpful to a couple other references as
> well.

Ack.

> > +static inline void findAlignment(u128 callersN, int value, int *align) {
> > + int i;
>
> Your gfmulseq code has lots of StudlyCaps and strange whitespace, eg
> this '{' should be on the next line.

In fact, it's lowerCamelCase, that's intentional. The whitespace and the
left '{' is an error.

> > + /* Copy N, so lsr does not destroy caller's copy */
> > + u128_alloc(N);
> > + copy128(N,callersN);
>
> The usage of your u128 type is really confusing, so 'u128' is an
> especially bad name. I expect u128 to work like u64 and u32. I propose
> gf128_t.

That's ok.

> > +#define u128_alloc(VAR) u64 _ ## VAR ## _[2]; u128 VAR = _ ## VAR ## _
>
> Wrap this in a struct, please. That's disgusting.

No need to be disgusted, I've seen much worse things in the kernel. I
will change it to C99 compound literals.

> > -obj-$(CONFIG_CRYPTO) += api.o scatterwalk.o cipher.o digest.o compress.o \
> > +obj-$(CONFIG_CRYPTO) += api.o scatterwalk.o cipher.o digest.o compress.o lrw.o gfmulseq.o \
>
> LRW and the GF(2**128) code is not configurable?

No, it's a cipher mode. None of the modes is configurable.

--
Fruhwirth Clemens <clemens@xxxxxxxxxxxxx> http://clemens.endorphin.org

Attachment: signature.asc
Description: This is a digitally signed message part