[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWLixmQ-iSiShRjFHgxPp9MZxUQDA=oYasdZd3WwmqGYg@mail.gmail.com>
Date: Wed, 21 Mar 2012 09:39:32 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Dmitry Kasatkin <dmitry.kasatkin@...el.com>
Cc: linux-security-module@...r.kernel.org,
linux-crypto@...r.kernel.org,
Linux Kernel Development <linux-kernel@...r.kernel.org>,
zohar@...ux.vnet.ibm.com, dhowells@...hat.com,
herbert@...dor.apana.org.au,
"Linux/m68k" <linux-m68k@...ts.linux-m68k.org>
Subject: Re: [PATCH v2.2 2/7] crypto: GnuPG based MPI lib - header files (part 2)
Ping?
On Sun, Mar 11, 2012 at 10:55, Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
> On Wed, 19 Oct 2011, Dmitry Kasatkin wrote:
>> Adds the multi-precision-integer maths library which was originally taken
>> from GnuPG and ported to the kernel by (among others) David Howells.
>> This version is taken from Fedora kernel 2.6.32-71.14.1.el6.
>> The difference is that checkpatch reported errors and warnings have been fixed.
>>
>> This library is used to implemenet RSA digital signature verification
>> used in IMA/EVM integrity protection subsystem.
>
>> --- /dev/null
>> +++ b/lib/mpi/longlong.h
>
>> + /* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */
>> +#if !defined(udiv_qrnnd)
>> +#define UDIV_NEEDS_NORMALIZATION 1
>> +#define udiv_qrnnd __udiv_qrnnd_c
>> +#endif
>> +
>> +#undef count_leading_zeros
>
> Why is this #undef here? It's not present in mpi/longlong.h from Ubuntu's
> gnupg-1.4.10, and causing ...
>
>> +#if !defined(count_leading_zeros)
>> + extern
>> +#ifdef __STDC__
>> + const
>> +#endif
>> + unsigned char __clz_tab[];
>> +#define count_leading_zeros(count, x) \
>> +do { \
>> + UWtype __xr = (x); \
>> + UWtype __a; \
>> + \
>> + if (W_TYPE_SIZE <= 32) { \
>> + __a = __xr < ((UWtype) 1 << 2*__BITS4) \
>> + ? (__xr < ((UWtype) 1 << __BITS4) ? 0 : __BITS4) \
>> + : (__xr < ((UWtype) 1 << 3*__BITS4) ? 2*__BITS4 : 3*__BITS4); \
>> + } \
>> + else { \
>> + for (__a = W_TYPE_SIZE - 8; __a > 0; __a -= 8) \
>> + if (((__xr >> __a) & 0xff) != 0) \
>> + break; \
>> + } \
>> + \
>> + (count) = W_TYPE_SIZE - (__clz_tab[__xr >> __a] + __a); \
>> +} while (0)
>> + /* This version gives a well-defined value for zero. */
>> +#define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE
>
> lib/mpi/longlong.h:1483:1: warning: "COUNT_LEADING_ZEROS_0" redefined
> lib/mpi/longlong.h:610:1: warning: this is the location of the previous definition
>
> on m68k/allmodconfig.
>
> I'm also wondering why this warning is not seen on other arches, e.g. PPC
> #defines COUNT_LEADING_ZEROS_0 to 32, just like m68k.
>
>> +#endif
>
> I suppose the plan is to clean up this header file, as lots of its
> functionality is already present in the kernel sources in some other way
> (e.g. arch/m68k/lib/muldi3.c)?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
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