[PATCH] Revert "crypto: crc32 - remove "_generic" from filenames"

Arnd Bergmann posted 1 patch 7 months, 3 weeks ago
crypto/Makefile                       | 8 ++++----
crypto/{crc32.c => crc32_generic.c}   | 0
crypto/{crc32c.c => crc32c_generic.c} | 0
3 files changed, 4 insertions(+), 4 deletions(-)
rename crypto/{crc32.c => crc32_generic.c} (100%)
rename crypto/{crc32c.c => crc32c_generic.c} (100%)
[PATCH] Revert "crypto: crc32 - remove "_generic" from filenames"
Posted by Arnd Bergmann 7 months, 3 weeks ago
From: Arnd Bergmann <arnd@arndb.de>

Each loadable module in the kernel must have a unique name, so renaming
the crc32 crypto module made it conflict with the crc32 library, as
shown by the build failure:

 error: the following would cause module name conflict:
   crypto/crc32.ko
   lib/crc32.ko

This could be solved by renaming one of the two conflicting modules
to something else again. As I can't think of a better name, just
revert back to the previous state as the easiest fix.

Fixes: ce653e0a7e0a ("crypto: crc32 - remove "_generic" from filenames")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 crypto/Makefile                       | 8 ++++----
 crypto/{crc32.c => crc32_generic.c}   | 0
 crypto/{crc32c.c => crc32c_generic.c} | 0
 3 files changed, 4 insertions(+), 4 deletions(-)
 rename crypto/{crc32.c => crc32_generic.c} (100%)
 rename crypto/{crc32c.c => crc32c_generic.c} (100%)

diff --git a/crypto/Makefile b/crypto/Makefile
index f238281b16c0..5d2f2a28d8a0 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -153,10 +153,10 @@ obj-$(CONFIG_CRYPTO_POLY1305) += poly1305.o
 CFLAGS_poly1305.o += -DARCH=$(ARCH)
 obj-$(CONFIG_CRYPTO_DEFLATE) += deflate.o
 obj-$(CONFIG_CRYPTO_MICHAEL_MIC) += michael_mic.o
-obj-$(CONFIG_CRYPTO_CRC32C) += crc32c.o
-obj-$(CONFIG_CRYPTO_CRC32) += crc32.o
-CFLAGS_crc32c.o += -DARCH=$(ARCH)
-CFLAGS_crc32.o += -DARCH=$(ARCH)
+obj-$(CONFIG_CRYPTO_CRC32C) += crc32c_generic.o
+obj-$(CONFIG_CRYPTO_CRC32) += crc32_generic.o
+CFLAGS_crc32c_generic.o += -DARCH=$(ARCH)
+CFLAGS_crc32_generic.o += -DARCH=$(ARCH)
 obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o authencesn.o
 obj-$(CONFIG_CRYPTO_KRB5ENC) += krb5enc.o
 obj-$(CONFIG_CRYPTO_LZO) += lzo.o lzo-rle.o
diff --git a/crypto/crc32.c b/crypto/crc32_generic.c
similarity index 100%
rename from crypto/crc32.c
rename to crypto/crc32_generic.c
diff --git a/crypto/crc32c.c b/crypto/crc32c_generic.c
similarity index 100%
rename from crypto/crc32c.c
rename to crypto/crc32c_generic.c
-- 
2.39.5
Re: [PATCH] Revert "crypto: crc32 - remove "_generic" from filenames"
Posted by Eric Biggers 7 months, 3 weeks ago
On Mon, Apr 28, 2025 at 02:54:02PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Each loadable module in the kernel must have a unique name, so renaming
> the crc32 crypto module made it conflict with the crc32 library, as
> shown by the build failure:
> 
>  error: the following would cause module name conflict:
>    crypto/crc32.ko
>    lib/crc32.ko
> 
> This could be solved by renaming one of the two conflicting modules
> to something else again. As I can't think of a better name, just
> revert back to the previous state as the easiest fix.
> 
> Fixes: ce653e0a7e0a ("crypto: crc32 - remove "_generic" from filenames")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  crypto/Makefile                       | 8 ++++----
>  crypto/{crc32.c => crc32_generic.c}   | 0
>  crypto/{crc32c.c => crc32c_generic.c} | 0
>  3 files changed, 4 insertions(+), 4 deletions(-)
>  rename crypto/{crc32.c => crc32_generic.c} (100%)
>  rename crypto/{crc32c.c => crc32c_generic.c} (100%)

Dropped the patch, thanks.

lib/crypto/ uses a lib prefix on the lib modules.  We could follow that and do
libcrc32 and crc32.  I think that's a mistake though; nothing else in lib/ does
that, and it would imply that the Crypto API wrapper for crc32 is the "regular"
CRC-32 module and that the lib module is something special.  It's actually the
other way around.  So I'll propose crc32 and crc32-cryptoapi.

- Eric