diff mbox series

lib/crc: re-disable optimized CRC code on user-mode Linux

Message ID 20250612054514.142728-1-ebiggers@kernel.org
State New
Headers show
Series lib/crc: re-disable optimized CRC code on user-mode Linux | expand

Commit Message

Eric Biggers June 12, 2025, 5:45 a.m. UTC
From: Eric Biggers <ebiggers@google.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@google.com>
---
 lib/crc/Kconfig | 1 +
 1 file changed, 1 insertion(+)


base-commit: 7234baeec076d4c2ac05d160ed8cdb2f2d033069
diff mbox series

Patch

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.