Re: [PATCH v2 2/6] crypto: crc64 - add crc64-iso framework

From: Eric Biggers
Date: Fri Aug 11 2023 - 22:55:27 EST


On Fri, Aug 11, 2023 at 12:58:49AM +0530, Kamlesh Gurudasani wrote:
> diff --git a/include/linux/crc64.h b/include/linux/crc64.h
> index 70202da51c2c..10b792080374 100644
> --- a/include/linux/crc64.h
> +++ b/include/linux/crc64.h
> @@ -8,11 +8,15 @@
> #include <linux/types.h>
>
> #define CRC64_ROCKSOFT_STRING "crc64-rocksoft"
> +#define CRC64_ISO_STRING "crc64-iso"
>
> u64 __pure crc64_be(u64 crc, const void *p, size_t len);
> u64 __pure crc64_iso_generic(u64 crc, const void *p, size_t len);
> u64 __pure crc64_rocksoft_generic(u64 crc, const void *p, size_t len);
>
> +u64 crc64_iso(const unsigned char *buffer, size_t len);
> +u64 crc64_iso_update(u64 crc, const unsigned char *buffer, size_t len);
> +
> u64 crc64_rocksoft(const unsigned char *buffer, size_t len);
> u64 crc64_rocksoft_update(u64 crc, const unsigned char *buffer, size_t len);

Is "crc64-iso" clear enough, or should it be "crc64-iso3309"? There are
thousands of ISO standards. Different CRC variants are specified by different
ISO standards. Is this particular variant indeed commonly referred to as simply
the "ISO" CRC-64? Even if it's currently the case that all other CRCs in ISO
standards are different widths than 64 bits (which may be unlikely?), I'm not
sure we should count on no CRC-64 variant ever being standardized by ISO.

- Eric