* [PATCH] lib/crc-t10dif: remove digest and block size constants
@ 2025-02-04 20:11 Eric Biggers
2025-02-06 11:09 ` Ard Biesheuvel
0 siblings, 1 reply; 4+ messages in thread
From: Eric Biggers @ 2025-02-04 20:11 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-crypto, Ard Biesheuvel
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] lib/crc-t10dif: remove digest and block size constants
2025-02-04 20:11 [PATCH] lib/crc-t10dif: remove digest and block size constants Eric Biggers
@ 2025-02-06 11:09 ` Ard Biesheuvel
2025-02-06 16:39 ` Eric Biggers
0 siblings, 1 reply; 4+ messages in thread
From: Ard Biesheuvel @ 2025-02-06 11:09 UTC (permalink / raw)
To: Eric Biggers; +Cc: linux-kernel, linux-crypto
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
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] lib/crc-t10dif: remove digest and block size constants
2025-02-06 11:09 ` Ard Biesheuvel
@ 2025-02-06 16:39 ` Eric Biggers
2025-02-06 16:57 ` Ard Biesheuvel
0 siblings, 1 reply; 4+ messages in thread
From: Eric Biggers @ 2025-02-06 16:39 UTC (permalink / raw)
To: Ard Biesheuvel; +Cc: linux-kernel, linux-crypto
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] lib/crc-t10dif: remove digest and block size constants
2025-02-06 16:39 ` Eric Biggers
@ 2025-02-06 16:57 ` Ard Biesheuvel
0 siblings, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2025-02-06 16:57 UTC (permalink / raw)
To: Eric Biggers; +Cc: linux-kernel, linux-crypto
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-02-06 16:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-04 20:11 [PATCH] lib/crc-t10dif: remove digest and block size constants Eric Biggers
2025-02-06 11:09 ` Ard Biesheuvel
2025-02-06 16:39 ` Eric Biggers
2025-02-06 16:57 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).