From nobody Mon Sep 28 18:37:17 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3BE43CB578 for ; Wed, 19 Aug 2026 07:24:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787124284; cv=none; b=QqIsgPB0tV90F2bORpHJi7U0vtCJkC5fB8x0FwoFrbHq49PhdLwR79cpC6x/e5kgIHYEmt+d73xYOu7FMIupiVmxi4KPjOoOknHmJW/xD4KpDd1s+z4/CJEkaaiUtwQ3e6KJDZ2aNJ7HtzDbcuffUOoMqsJ7NEtyDgWntETl4Co= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787124284; c=relaxed/simple; bh=tHDwcgAZMoxa8cs//lflo9gpD1lGzjqnAoYCTvKTzLA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=IuIxWMsljhu0L5qttANkcl3u6Bcp8TnLYTwGo39l7kEMhms/t1KqKNsG/7eMrPbHFwbKqlCT7KM9ns4H8AGtlQRlpUTI+mqqgfssJkPJ4TElm4f4cZZUJ7VsR7MR4M6gR/l4vmbF9FY5eiPF38RNnh7MekaaQcplFJLpOzPiNZo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=TtcHsrtd; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=mmfQEFEf; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="TtcHsrtd"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="mmfQEFEf" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1787124280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EQY4lYfSjKr4PpB6AAQMW75bVYVGW3TtlFS7Uv6QJ14=; b=TtcHsrtd7LbciiPT5CqZqexhBQjrlgMhzYINjW4Pb1YTBgpOpDKwbBCmfVeN8Pd3JxhdKW CsisCSJZV6KnZ4SsVuhAa+e94llPwie34FOyyT+vs544x25iUNz3Hj+BxMip3JzqME/Prm uKihQnerJTr2816KWg5V0x0KZNzJXdF/dhZ6sODKXdVsOrQ+xwWuT2kXEfjGtJnNbhg01g ETLwhOkn3JE9YbKk5nJQXwQUjX5oDNfPfFhAwapCoNqRH8Csrt8nAbwq48fGKi2Od/QyUz Xdnh2BFuAZj8UURbflyXhkTTS6t5tSP/TYm8MzetZTQXLcIfGwT49dr2I17vtg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1787124280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EQY4lYfSjKr4PpB6AAQMW75bVYVGW3TtlFS7Uv6QJ14=; b=mmfQEFEfG/xsZBOYmmPu8SU4yNC7SC3aWrotjSczwy1U+1hjYipi9hF4MzwRjanE4+CBtq F7BF3B0pDWd+BHBw== Date: Wed, 19 Aug 2026 09:24:21 +0200 Subject: [PATCH] um: Use asm-generic/timex.h over the host architecture one Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260819-uml-timex-fix-v1-1-f690b514fc9f@linutronix.de> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIzMDC0NL3dLcHN2SzNzUCt20TCBOTk4yMk+zTE40NVQC6ikoSgUKg82Ljq2 tBQC5DzQaXwAAAA== X-Change-ID: 20260819-uml-timex-fix-fccb27f9ca51 To: Richard Weinberger , Anton Ivanov , Johannes Berg , "Christophe Leroy (CS GROUP)" , Thomas Gleixner Cc: linux-um@lists.infradead.org, linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1787124280; l=4020; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=tHDwcgAZMoxa8cs//lflo9gpD1lGzjqnAoYCTvKTzLA=; b=bMCjxOBKdO0QmnI3s6XYe1DjHkSVnVI58xDDVJ90V4v7jHaD9r2GyogQW8ruH8657HOQheQwu IRxM44uZVy0DZf7pPO4JTmR0CKmku62KCj5RjpZhW8P9b9RqD5IYHEn X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= The removal of the architecture-specific asm/timex.h was meant to fall back to asm-generic/timex.h. However on UML, the host architecture headers are earlier on the include path and therefore asm/timex.h from the host architecture is used. On x86 that header in turn requires the generation of cpufeaturemasks.h, which is not set up for UML and the build fails. In file included from ../arch/x86/include/asm/tsc.h:9, from ../arch/x86/include/asm/timex.h:6, from ../include/linux/timex.h:67, from ../include/linux/time32.h:13, from ../include/linux/time.h:60, from ../include/linux/jiffies.h:10, from ../include/linux/ktime.h:25, from ../include/linux/timer.h:6, from ../include/linux/uprobes.h:18, from ../include/linux/mm_types.h:16, from ../include/linux/mmzone.h:22, from ../include/linux/gfp.h:7, from ../include/linux/slab.h:17, from ../include/linux/crypto.h:18, from ../arch/um/kernel/asm-offsets.c:6: arch/x86/include/asm/tsc.h: In function =E2=80=98get_cycles=E2=80=99: arch/um/include/asm/cpufeature.h:52:39: error: implicit declaration of func= tion =E2=80=98DISABLED_MASK_BIT_SET=E2=80=99 [-Wimplicit-function-declarati= on] 52 | (__builtin_constant_p(bit) && DISABLED_MASK_BIT_SET(bit) ? = 0 : _static_cpu_has(bit)) | ^~~~~~~~~~~~~~~~~~~~~ arch/x86/include/asm/tsc.h:79:14: note: in expansion of macro =E2=80=98cpu_= feature_enabled=E2=80=99 79 | if (!cpu_feature_enabled(X86_FEATURE_TSC)) | ^~~~~~~~~~~~~~~~~~~ arch/um/include/asm/cpufeature.h:115:17: error: implicit declaration of fun= ction =E2=80=98_static_cpu_has=E2=80=99 [-Wimplicit-function-declaration] 115 | _static_cpu_has(bit) \ | ^~~~~~~~~~~~~~~ arch/um/include/asm/cpufeature.h:52:72: note: in expansion of macro =E2=80= =98_static_cpu_has=E2=80=99 52 | (__builtin_constant_p(bit) && DISABLED_MASK_BIT_SET(bit) ? = 0 : _static_cpu_has(bit)) | = ^~~~~~~~~~~~~~~ arch/x86/include/asm/tsc.h:79:14: note: in expansion of macro =E2=80=98cpu_= feature_enabled=E2=80=99 79 | if (!cpu_feature_enabled(X86_FEATURE_TSC)) | ^~~~~~~~~~~~~~~~~~~ arch/um/include/asm/cpufeature.h:115:17: note: =E2=80=98_static_cpu_has=E2= =80=99 is a function-like macro and might be used incorrectly arch/um/include/asm/cpufeature.h:52:72: note: in expansion of macro =E2=80= =98_static_cpu_has=E2=80=99 52 | (__builtin_constant_p(bit) && DISABLED_MASK_BIT_SET(bit) ? = 0 : _static_cpu_has(bit)) | = ^~~~~~~~~~~~~~~ arch/x86/include/asm/tsc.h:79:14: note: in expansion of macro =E2=80=98cpu_= feature_enabled=E2=80=99 79 | if (!cpu_feature_enabled(X86_FEATURE_TSC)) | ^~~~~~~~~~~~~~~~~~~ The x86-specific timex.h also doesn't make sense on UML in general. Reintroduce the UML-specific asm/timex.h and add a comment to document its necessity. Fixes: 3ed403bbc967 ("treewide: Remove CLOCK_TICK_RATE") Signed-off-by: Thomas Wei=C3=9Fschuh Reviewed-by: David Gow Tested-by: SJ Park --- arch/um/include/asm/timex.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/um/include/asm/timex.h b/arch/um/include/asm/timex.h new file mode 100644 index 000000000000..dfb4f460fb87 --- /dev/null +++ b/arch/um/include/asm/timex.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __UM_TIMEX_H +#define __UM_TIMEX_H + +/* Do not fall back to the host architecture header. */ +#include + +#endif --- base-commit: bd5f485f3f026225b86573e559af0b7254ef4184 change-id: 20260819-uml-timex-fix-fccb27f9ca51 Best regards, -- =20 Thomas Wei=C3=9Fschuh