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
ge...@linux-m68k.org wrote:
 Ping?

 On Sun, Mar 11, 2012 at 10:55, Geert Uytterhoeven ge...@linux-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 -- 
 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 ge...@linux-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 -- 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