From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id AD6328017D for ; Mon, 26 Oct 2026 22:35:55 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69QMYi3j015331; Tue, 27 Oct 2026 01:34:44 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69QMYi3j015331 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="eOt0HGnY" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69QMYPuS015286 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 27 Oct 2026 01:34:25 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69QMYPuS015286 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-48e17d30a79so2113156f8f.3 for ; Mon, 26 Oct 2026 15:34:25 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvByQnb+TkYeW8kcFBQ51OoxCDhGZevoa0wrSWGGEiXF+/NshskXOeecCjfDfOThe/1SomgvthA==@openvz.org X-Gm-Message-State: AFq9FYIdk559DpadIpeRrvJnG/whU4fKpcbnElbCviesUjjwJCe7srUX d1Gkvurykq/XHjCwkgqRnJ8bpzw36H1Qk15SaTS6EMSODb+O8EfgZx24ibEr2PVpVaiUUvm994H RmeD6ljb7E6t/Kn9VLashBxORDJgs1ZWAfd6OrsHojzDrE+c4QZOI3w== X-Gm-Gg: AYBFou1LSpOJEWriufMJ76ufm89npBODM0jL3oJyUjxW3DClqM6bVozMe+ZG6R04k+5 jr1toWNMrYWGe388HXNfw7CvnMwQNuadcBC1UG0a4srRhj/p8coupxgKP0h9hQSj0hOkNhg1YJu uSgp2hdtn9GfcUedL4Cyjtc+O1Wki6yij6WolA8NcwdzfrzzMorXGKdQTlqmp1iuWXMyND52An/ EfbPYuAWwS27ZlnhkxaeE7Ikm5rFcB/GL2Ocol1/Usa8WiJ+ovwtpb8nxXLbwAKqKOSdGi9lPX4 IRiQWY7NvkIJrGFb2Q+2ltz+PiuxOB1GZ63zKrKsgYcJtdVjxn+SumyhlgdFninmB/uqx+25Z4u BaxojqwuwkrxK3bW5 X-Received: by 2002:adf:e001:0:10b0:48a:efed:ac97 with SMTP id ffacd0b85a97d-48e3eb9143cmr10602884f8f.33.1793054065431; Mon, 26 Oct 2026 15:34:25 -0700 (PDT) X-Received: by 2002:adf:e001:0:10b0:48a:efed:ac97 with SMTP id ffacd0b85a97d-48e3eb9143cmr10602871f8f.33.1793054064778; Mon, 26 Oct 2026 15:34:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793054064; cv=none; d=google.com; s=arc-20260327; b=YOJUTMxauQywzwf9PvZS2R4IvMDE4L1veUXvSge8ctw+SQvsJ3A9kzO8zgccLFmO8d OupPdTuRYgSCGrBMONJMrMo/sqat9ZaYJQRicWZ0jQ3uiXkgsXyDSKcu5B+3Ee0PY60B 7Y1s9quhMehn7KnsU6doZGyDpATcFlLRHOTYLVRPGnSPXs9GJQN1mgN3WzNnoSaDerAt 7icEcLPdZNeiCmsH0DSY+0NOb/uC+mvjZlaliWrROmOKLfzTyrwR3dVEH835kr+3exc5 brHUaCx8nh0bAVsfVtPbToJxiJHYDRBNyM8li72de7g50+dXH3zDzbdNGOVRNtvENQbE IZBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=kd8gWcJr8BKI42b73sirE++luyC6IkxHTL5ndls2rdk=; fh=Bu5yrgOEoPHEDUWPiSQSrRt4wqrLzKf0X4aH53wrlkk=; b=Cq8sEhUvNdTU/dyUKuGaf1qz/+X/PK2ZH00fIhtI6t8IJWSEtpYtLTi/hxezJvRt88 pMzyA34kujvo99up+AaglN5UOibKHfwbt74/e16tocelFimxW1gzbuguEu/RsTQVjdT5 sfl2iCtr4LfXHmDii9rCnXKcPqA/bJ7o8pjxTzBRAnyLRSr4QtuCnD7VgttPBTjBQ0qM WxE76grQRg4zXnJ5un/NLY+2VxE+k3bFKGD4sp1hpxM0E8+S09NXWU85vr424ehmgoH2 zEnn8daW9XpuwdWVzK6X7WUvvaXIPzpILxUGFrf0yBX1Id48moi35/0LPSGwSyMnKw2S P5Ow==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=eOt0HGnY; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e3ece8d85si15642453f8f.166.2026.10.26.15.34.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Oct 2026 15:34:24 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=eOt0HGnY; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=kd8gWcJr8BKI42b73sirE++luyC6IkxHTL5ndls2rdk=; b=eOt0HGnYc191CQpIHzK kcdGXvi8fP/KAobzb8coTYKu1Oz9MWjBs++L3QMNBMuE/Dt3fP02AODWv5tRe6dkyfB5gvu1E4e63 +RqCd7gBlhlaWDXKvAZTyDmnAS7Dczjvd0b02fa1C3tKvytVVZKWezgVwuXDX9UwAKZ2558HHybmo 5N84YXH/6xGJ9V/DKBBw364dHhM2WypbyG1N9mPKKAG3ahJXnl3zrqGhD0kuQaN9mBdF9RtB4LiZg MLvqp66mvfOi4nuUx5lR35nvvd/BsYhHGLHQz5dMIoGCzjrSy/lOY2zeCA5h71OuL1npJHJxWA0w8 1m87qG+25gfSp6Q==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xLTD6-00DqDg-2Y; Mon, 26 Oct 2026 23:34:15 +0100 From: Konstantin Khorenko Date: Mon, 26 Oct 2026 23:34:24 +0100 MIME-Version: 1.0 Message-Id: <20261026-b4-prep-khorenko-vstor-143636-uml-config-v2-6-76c8329592af@virtuozzo.com> References: <20261026-b4-prep-khorenko-vstor-143636-uml-config-v2-0-76c8329592af@virtuozzo.com> In-Reply-To: <20261026-b4-prep-khorenko-vstor-143636-uml-config-v2-0-76c8329592af@virtuozzo.com> To: Eva Kurchatova X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3259; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=MGoE9ApGSz8zBiOBzbjaQR3NEHRahH9uezwZP5wwWuU=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBq39Vup9fzE1fNFlLwdvw7dTo++E2K3TKphnsDG fltc49zmWqJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCat/VbgAKCRBRlgpH+WFc KtKFD/9kI9jODddYO2XpRN/OXUJcGCZVFoPDiSNAuA1HuJuH6P5Kh58QUVQNiXcQKaFfDQaV1yX bkIAVhzoUqx5TW/Iu3UpeSSF6KG2LUxJqy7L4wXyITPQAkVr4zm1zlCEdtKLUyu082ElFOnV7PK SI+j8Z8qM0JHIbDj8ClgSaLbra95CBGy0FEs3OIAG2fPb/G1OSqIDiGpuypHIMH+FWIuf1HM0az +YOpTqm581IzfTYQpylgkMajf2AvhcoEyopss6xpaxvXMpdvObSU/VxGbBjv5zUFFOCZYpIw6l2 BjPiqISW3UrbIljOD4UBC0kmVYbTSNHVItefh6CaHCqek1RtBf39a+x3bQn/Lblfxg/51IX+vL1 TjedNq5gNTMEd/Gm8eq7lzP/zcvlzm+nz2nS28BJ9bJXqG34EBTJDjcxvHumV1yAiGRGNZb70ZI 0ccIHwWKgDVIVQTKRPyN/8F2fVS5PAKOuFGWqf795NWghTC8W9LI9gOA79LysPG111+tpxvgfK1 hV+LnNr4FBJ6b6eZOH+agrZO2hNAtTTqYdKdLBED8D/IJKllkvGBSUnYI5RrgpW3gucsT1mpKnk iuSGSzznkDAD5NhaexSIgl9rFnFn2FEH8tsypZ4zL41GznrzsUo2p7T1SM6Q2bk4GVJh9fHUgyy eCpxx4mqwgObGvQ== X-Developer-Key: i=khorenko@virtuozzo.com; a=openpgp; fpr=560F6DC83DC5D3D063BD082C51960A47F9615C2A X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v2 6/6] configs: check the User Mode Linux KUnit config at build time X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org process_configs.sh resolves the um variant with dummy tools, which claim every compiler feature. The build resolves it again with the real compiler, where an option the um layer sets can still drop out: a toolchain without KASAN support takes CONFIG_KASAN away, and the KASAN checks of every test go with it, on a green run. A KUnit test whose prompt stays visible under KUNIT_ALL_TESTS keeps the =m of the generic layers, and UML loads no modules. process_configs.sh takes =m as a valid value, so a test that a RHEL import adds this way silently never runs. check_um_config.sh fails the build when the resolved config: - lost a value the um layer sets, or has an option on that it turns off - has a KUnit test, a symbol defaulting to KUNIT_ALL_TESTS, as a module It fails as well when it finds no um layer or no KUnit test to check against, rather than pass having checked nothing. kernel.spec runs it after olddefconfig, before building the kernel. https://virtuozzo.atlassian.net/browse/VSTOR-143636 https://virtuozzo.atlassian.net/browse/VSTOR-148112 Feature: KUnit tests on User Mode Linux Suggested-by: Eva Kurchatova Signed-off-by: Konstantin Khorenko --- redhat/configs/check_um_config.sh | 66 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/redhat/configs/check_um_config.sh b/redhat/configs/check_um_config.sh new file mode 100755 index 0000000000000..190bd3e256f5f --- /dev/null +++ b/redhat/configs/check_um_config.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Check the config of the User Mode Linux KUnit kernel, the "um" variant, +# once the build has resolved it with olddefconfig: +# +# check_um_config.sh CONFIG +# +# process_configs.sh resolves the variant with dummy tools, the build with +# the real compiler, which can still drop an option the um layer sets. And +# UML loads no modules, so a KUnit test left a module never runs. + +config=$1 +if [ ! -f "$config" ]; then + echo "usage: $0 CONFIG" >&2 + exit 2 +fi + +dir=$(dirname "$(readlink -f "$0")") +layer=$dir/custom-overrides/generic/um + +die() +{ + echo "$0: $1" >&2 + exit 2 +} + +ls "$layer"/CONFIG_* > /dev/null 2>&1 || die "no um layer in $layer" + +kunit_tests=$(find "$dir/../.." -name 'Kconfig*' -print0 | + xargs -0 awk ' + /^(menu)?config / { name = $2 } + /^[ \t]+default KUNIT_ALL_TESTS/ { print "CONFIG_" name }' | + sort -u) +[ -n "$kunit_tests" ] || die "no KUnit test in the Kconfig files under $dir/../.." + +layer_lost() +{ + local line sym + + cat "$layer"/CONFIG_* | while read -r line; do + case "$line" in + CONFIG_*=*) + grep -qxF -- "$line" "$config" || + echo "$line: lost" + ;; + "# CONFIG_"*" is not set") + sym=${line#\# } + sym=${sym%% *} + grep "^$sym=" "$config" | sed "s/\$/: set, the um layer has it off/" + ;; + esac + done +} + +kunit_modules() +{ + echo "$kunit_tests" | sed 's/$/=m/' | grep -xFf - "$config" | + sed 's/$/: a KUnit test left a module/' +} + +bad=$(layer_lost; kunit_modules) +if [ -n "$bad" ]; then + echo "$config is not the um config the KUnit kernel needs:" + echo "$bad" + exit 1 +fi -- 2.43.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel