crypto/crct10dif_generic.c | 8 ++++---- include/linux/crc-t10dif.h | 3 --- 2 files changed, 4 insertions(+), 7 deletions(-)
From: Eric Biggers <ebiggers@google.com>
These constants are only used in crypto/crct10dif_generic.c, and they
are better off just hardcoded there.
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
I'm planning to take this via the crc tree.
crypto/crct10dif_generic.c | 8 ++++----
include/linux/crc-t10dif.h | 3 ---
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/crypto/crct10dif_generic.c b/crypto/crct10dif_generic.c
index 259cb01932cb5..fdfe78aba3ae0 100644
--- a/crypto/crct10dif_generic.c
+++ b/crypto/crct10dif_generic.c
@@ -114,34 +114,34 @@ static int chksum_digest_arch(struct shash_desc *desc, const u8 *data,
{
return __chksum_finup_arch(0, data, length, out);
}
static struct shash_alg algs[] = {{
- .digestsize = CRC_T10DIF_DIGEST_SIZE,
+ .digestsize = sizeof(u16),
.init = chksum_init,
.update = chksum_update,
.final = chksum_final,
.finup = chksum_finup,
.digest = chksum_digest,
.descsize = sizeof(struct chksum_desc_ctx),
.base.cra_name = "crct10dif",
.base.cra_driver_name = "crct10dif-generic",
.base.cra_priority = 100,
- .base.cra_blocksize = CRC_T10DIF_BLOCK_SIZE,
+ .base.cra_blocksize = 1,
.base.cra_module = THIS_MODULE,
}, {
- .digestsize = CRC_T10DIF_DIGEST_SIZE,
+ .digestsize = sizeof(u16),
.init = chksum_init,
.update = chksum_update_arch,
.final = chksum_final,
.finup = chksum_finup_arch,
.digest = chksum_digest_arch,
.descsize = sizeof(struct chksum_desc_ctx),
.base.cra_name = "crct10dif",
.base.cra_driver_name = "crct10dif-" __stringify(ARCH),
.base.cra_priority = 150,
- .base.cra_blocksize = CRC_T10DIF_BLOCK_SIZE,
+ .base.cra_blocksize = 1,
.base.cra_module = THIS_MODULE,
}};
static int num_algs;
diff --git a/include/linux/crc-t10dif.h b/include/linux/crc-t10dif.h
index 16787c1cee21c..d0706544fc11f 100644
--- a/include/linux/crc-t10dif.h
+++ b/include/linux/crc-t10dif.h
@@ -2,13 +2,10 @@
#ifndef _LINUX_CRC_T10DIF_H
#define _LINUX_CRC_T10DIF_H
#include <linux/types.h>
-#define CRC_T10DIF_DIGEST_SIZE 2
-#define CRC_T10DIF_BLOCK_SIZE 1
-
u16 crc_t10dif_arch(u16 crc, const u8 *p, size_t len);
u16 crc_t10dif_generic(u16 crc, const u8 *p, size_t len);
static inline u16 crc_t10dif_update(u16 crc, const u8 *p, size_t len)
{
base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
--
2.48.1
On Tue, 4 Feb 2025 at 21:11, Eric Biggers <ebiggers@kernel.org> wrote:
>
> From: Eric Biggers <ebiggers@google.com>
>
> These constants are only used in crypto/crct10dif_generic.c, and they
> are better off just hardcoded there.
>
> Signed-off-by: Eric Biggers <ebiggers@google.com>
> ---
>
> I'm planning to take this via the crc tree.
>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Could you remind me why we are keeping this driver?
> crypto/crct10dif_generic.c | 8 ++++----
> include/linux/crc-t10dif.h | 3 ---
> 2 files changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/crypto/crct10dif_generic.c b/crypto/crct10dif_generic.c
> index 259cb01932cb5..fdfe78aba3ae0 100644
> --- a/crypto/crct10dif_generic.c
> +++ b/crypto/crct10dif_generic.c
> @@ -114,34 +114,34 @@ static int chksum_digest_arch(struct shash_desc *desc, const u8 *data,
> {
> return __chksum_finup_arch(0, data, length, out);
> }
>
> static struct shash_alg algs[] = {{
> - .digestsize = CRC_T10DIF_DIGEST_SIZE,
> + .digestsize = sizeof(u16),
> .init = chksum_init,
> .update = chksum_update,
> .final = chksum_final,
> .finup = chksum_finup,
> .digest = chksum_digest,
> .descsize = sizeof(struct chksum_desc_ctx),
> .base.cra_name = "crct10dif",
> .base.cra_driver_name = "crct10dif-generic",
> .base.cra_priority = 100,
> - .base.cra_blocksize = CRC_T10DIF_BLOCK_SIZE,
> + .base.cra_blocksize = 1,
> .base.cra_module = THIS_MODULE,
> }, {
> - .digestsize = CRC_T10DIF_DIGEST_SIZE,
> + .digestsize = sizeof(u16),
> .init = chksum_init,
> .update = chksum_update_arch,
> .final = chksum_final,
> .finup = chksum_finup_arch,
> .digest = chksum_digest_arch,
> .descsize = sizeof(struct chksum_desc_ctx),
> .base.cra_name = "crct10dif",
> .base.cra_driver_name = "crct10dif-" __stringify(ARCH),
> .base.cra_priority = 150,
> - .base.cra_blocksize = CRC_T10DIF_BLOCK_SIZE,
> + .base.cra_blocksize = 1,
> .base.cra_module = THIS_MODULE,
> }};
>
> static int num_algs;
>
> diff --git a/include/linux/crc-t10dif.h b/include/linux/crc-t10dif.h
> index 16787c1cee21c..d0706544fc11f 100644
> --- a/include/linux/crc-t10dif.h
> +++ b/include/linux/crc-t10dif.h
> @@ -2,13 +2,10 @@
> #ifndef _LINUX_CRC_T10DIF_H
> #define _LINUX_CRC_T10DIF_H
>
> #include <linux/types.h>
>
> -#define CRC_T10DIF_DIGEST_SIZE 2
> -#define CRC_T10DIF_BLOCK_SIZE 1
> -
> u16 crc_t10dif_arch(u16 crc, const u8 *p, size_t len);
> u16 crc_t10dif_generic(u16 crc, const u8 *p, size_t len);
>
> static inline u16 crc_t10dif_update(u16 crc, const u8 *p, size_t len)
> {
>
> base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
> --
> 2.48.1
>
On Thu, Feb 06, 2025 at 12:09:22PM +0100, Ard Biesheuvel wrote: > On Tue, 4 Feb 2025 at 21:11, Eric Biggers <ebiggers@kernel.org> wrote: > > > > From: Eric Biggers <ebiggers@google.com> > > > > These constants are only used in crypto/crct10dif_generic.c, and they > > are better off just hardcoded there. > > > > Signed-off-by: Eric Biggers <ebiggers@google.com> > > --- > > > > I'm planning to take this via the crc tree. > > > > Acked-by: Ard Biesheuvel <ardb@kernel.org> > > Could you remind me why we are keeping this driver? > I don't know. I had to keep "crc32" and "crc32c" around for now because they are still used, and I just defaulted to doing the same for "crct10dif". It *looks like* "crct10dif" is different and we could indeed safely remove it like I ended up doing for "crc64-rocksoft", though. "crct10dif" has no remaining references in the kernel; it has no references in cryptsetup, iwd, or libell; and Debian Code Search doesn't find anything else. It's over a decade old, so I was worried there was time for users to have crept in, but that doesn't seem to have happened. So yeah, good idea. I'll send a patch that removes it, with the device-mapper folks Cc'd in case they know of anything else. - Eric
On Thu, 6 Feb 2025 at 17:39, Eric Biggers <ebiggers@kernel.org> wrote: > > On Thu, Feb 06, 2025 at 12:09:22PM +0100, Ard Biesheuvel wrote: > > On Tue, 4 Feb 2025 at 21:11, Eric Biggers <ebiggers@kernel.org> wrote: > > > > > > From: Eric Biggers <ebiggers@google.com> > > > > > > These constants are only used in crypto/crct10dif_generic.c, and they > > > are better off just hardcoded there. > > > > > > Signed-off-by: Eric Biggers <ebiggers@google.com> > > > --- > > > > > > I'm planning to take this via the crc tree. > > > > > > > Acked-by: Ard Biesheuvel <ardb@kernel.org> > > > > Could you remind me why we are keeping this driver? > > > > I don't know. I had to keep "crc32" and "crc32c" around for now because they > are still used, and I just defaulted to doing the same for "crct10dif". It > *looks like* "crct10dif" is different and we could indeed safely remove it like > I ended up doing for "crc64-rocksoft", though. "crct10dif" has no remaining > references in the kernel; it has no references in cryptsetup, iwd, or libell; > and Debian Code Search doesn't find anything else. It's over a decade old, so I > was worried there was time for users to have crept in, but that doesn't seem to > have happened. So yeah, good idea. I'll send a patch that removes it, with the > device-mapper folks Cc'd in case they know of anything else. > Good idea.
© 2016 - 2025 Red Hat, Inc.