[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250612054514.142728-1-ebiggers@kernel.org>
Date: Wed, 11 Jun 2025 22:45:14 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: linux-crypto@...r.kernel.org,
Ard Biesheuvel <ardb@...nel.org>,
"Jason A . Donenfeld " <Jason@...c4.com>,
x86@...nel.org
Subject: [PATCH] lib/crc: re-disable optimized CRC code on user-mode Linux
From: Eric Biggers <ebiggers@...gle.com>
The reorganization of lib/crc/ unintentionally enabled the x86-optimized
CRC64 code on user-mode Linux. (It's enabled when CONFIG_X86_64, which
is set by arch/x86/um/Kconfig. Note that this is a different option
from the "normal" CONFIG_X86_64 which is defined in arch/x86/Kconfig.)
Since this is not being taken into account, a build error results:
CC lib/crc/crc64-main.o
cc1: error: ./lib/crc/um: No such file or directory [-Werror=missing-include-dirs]
lib/crc/crc64-main.c:58:10: fatal error: crc64.h: No such file or directory
58 | #include "crc64.h" /* $(SRCARCH)/crc64.h */
| ^~~~~~~~~
compilation terminated.
cc1: all warnings being treated as errors
Fix this by re-disabling the optimized CRC code on user-mode Linux.
Fixes: e2fd1883971d ("lib/crc: prepare for arch-optimized code in subdirs of lib/crc/")
Signed-off-by: Eric Biggers <ebiggers@...gle.com>
---
lib/crc/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/crc/Kconfig b/lib/crc/Kconfig
index 5858b3acc6630..70e7a6016de32 100644
--- a/lib/crc/Kconfig
+++ b/lib/crc/Kconfig
@@ -85,10 +85,11 @@ config CRC64_ARCH
default y if RISCV && RISCV_ISA_ZBC && 64BIT
default y if X86_64
config CRC_OPTIMIZATIONS
bool "Enable optimized CRC implementations" if EXPERT
+ depends on !UML
default y
help
Disabling this option reduces code size slightly by disabling the
architecture-optimized implementations of any CRC variants that are
enabled. CRC checksumming performance may get much slower.
base-commit: 7234baeec076d4c2ac05d160ed8cdb2f2d033069
--
2.49.0
Powered by blists - more mailing lists