lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ