Re: [PATCH v2.2 2/7] crypto: GnuPG based MPI lib - header files (part 2)

2012-03-22 Thread Kasatkin, Dmitry
On Wed, Mar 21, 2012 at 10:39 AM, Geert Uytterhoeven
 wrote:
> Ping?
>
> On Sun, Mar 11, 2012 at 10:55, Geert Uytterhoeven  
> 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 -- 
> ge...@linux-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 majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

Hello,

There are things to cleanup...
It takes a bit of time.

- Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2.2 2/7] crypto: GnuPG based MPI lib - header files (part 2)

2012-03-21 Thread Geert Uytterhoeven
Ping?

On Sun, Mar 11, 2012 at 10:55, Geert Uytterhoeven  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 -- ge...@linux-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-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2.2 2/7] crypto: GnuPG based MPI lib - header files (part 2)

2012-03-11 Thread Geert Uytterhoeven
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 -- ge...@linux-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-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html