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 F418180E7E for ; Wed, 28 Oct 2026 21:31:13 +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 69SLTiMB023811; Thu, 29 Oct 2026 00:29:44 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SLTiMB023811 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="pMnqOeqZ" Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SLTf6a023807 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 29 Oct 2026 00:29:41 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SLTf6a023807 Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-8b1a3d8a752so7181717b3.1 for ; Wed, 28 Oct 2026 14:29:41 -0700 (PDT) X-Gm-Message-State: AFq9FYLQn8/+6hUY9O78JlexZOG3Xa7vHk5xCjbZfLnVvOSPYgQ8Bphf wQzlq1KO7QQtbF+Vfx2ZL6dNdzw47AnHSH/MGjrPA6t2uauMDQHrQmQJOheFo2/6FkkcwFhUfAa tYJmwU/paBElnWpgWoQj9F9wNfX38V2IIDfIVyOo9eb6qbuUqAhHLkg== X-Gm-Gg: AYBFou1VOq/PG4Vmrg/rQQGjLbSm8R88nmTCvWM8ngpraLNeIQQ3jsbKq5FnEJ8OxV8 vwpZb3BXNw/uZ9VSqBQzPmzn7PpjhW4JYT8llakAzxUUUd7RRc1pWUqhBFcgR/KOG8dJ29wI/vD qgd3s0tIcGNw5Q6KC45sQmYGyPL7gBDOnaKndqbFtNQGCdups1EPO+oVi9oyYVaGmz4k2eOtNph tP8GuE2NlfCMwhpRIIptXvv3BcqkvYR6SnddLERCHQZlIoz5YOFW0eKiwB/O+lBm3MVwT0DGUY2 HGrrFLLsqZinFtu6Ka9cxQ3TvmKwsp0jN1o1YApBVZOJLfMo1XjQAHzoypGELIjQao786UtPBrK JiBoIUjO1yPTsY/XKWYL4fn0FgkaqffMY1yJZETFFo5P8BYqb23IRnQKC5Inod2RJXkJGbr4qrL jOY7IneWUH8cxr76v6oCbMqlNFNYdm0emc X-Received: by 2002:a05:690c:ed2:b0:8b0:c673:9958 with SMTP id 00721157ae682-8b1b5696174mr26062687b3.3.1793222980387; Wed, 28 Oct 2026 14:29:40 -0700 (PDT) X-Received: by 2002:a05:690c:ed2:b0:8b0:c673:9958 with SMTP id 00721157ae682-8b1b5696174mr26062537b3.3.1793222979747; Wed, 28 Oct 2026 14:29:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793222979; cv=pass; d=google.com; s=arc-20260327; b=QdneTZlIKNgycqcOWabeswChfZfnHKfy42cFVqU33dD+w6V8w/SofukLtYrn4ny3jT GN9VRksxErTSaqEpcw2+n6wdf7sSoK06OtZM3YbT0Af2WN3DJI5e1Dfr8Pyx2iEY46Vn YXJuS0z13UAfGVG7bIu+BSGCkl2mQv20regSjs4eXlHx/g5Rlf0SeyhYmsr0XHGX7/nJ 3p+Z7ih7Bv/zhBIPkNM69mavZjK6q+DiSV9ihOHG78TCFz9WGtSVL7HwbWX8WGQmDQgb CMDfNZI6U7jYTxW+YCQzjhs94OiI1LJFyYKMUnyk5wQ3BJigZ2RA1OWv0cPukbBVw9cy NaYw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:date :message-id:dkim-signature; bh=FtWwfAfByuiyF4t6eZDFHnbKAwMv5XYJ1bV1CH+DoGA=; fh=lDcH/AoEq9GlEqGnfAM3WWP3S1pTgZTBlu1eNYhzdGw=; b=pFJf5J6QWVBxp7P7O8ZChLqT9RjXmzz/iJH9sbu5snOQp9P2kMMADs5hx62E7NTprF pT+QP4NWH/Wr1z3sNCHgjaJYPp/RmQQKGADnYIs5+UzgzDNq27kNMoWWjSL3pH6sSXyL wqt5WHHQUIuj+CX0RJ9uT1v/DAq7wjD6sX0SdnQ6Lnng0uOTz+M4HbXqOeJW9MRUECPP uAvm0IaTr7sYTopBehykuCoVSMn2nIgkmV0ZwnTJ5UK9vrU79isq3PrDQsgVJoQpaOUs bcIdTPZITASW79CtjChKvK8/mujv4d1qpECbXxhgek6SgiLsO92z0xHkmd9dvfe+Mxt3 UWCA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=pMnqOeqZ; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by mx.google.com with ESMTPS id 00721157ae682-8b19e5ff425si43054697b3.103.2026.10.28.14.29.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2026 14:29:39 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=pMnqOeqZ; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=swfBGSdwS8VCIZQAgKDYJ+8oiK+MhRXSdDh9WQo5YZBl7+szejC7k4Imbxdas7BmomuJWTPsZMH+tH/MuJPtYAUpcazGSAnJBmMo4SxR9trAgCAmiL1QGv0VYV1caklyrjr30GOCs6z385jcN8zrQvSnX1vVrUki23ZZDzyfgI3qDJR3hW0CPocpzF29ep6zQYHsD3mnb1iXLvJ3qf1POEiALvfkeTQrBiAiVkU6khJ+6ZJEV3DJAsg8Ef6h4w1VNg/hAt5jcSOO5Bb4ql8aaHCpKXt2ZSWnVcR9KCjv8D5LyXABSvzMk3ALr52nQEv4Qgu3TPvy9uSM4Vx0BZwF1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FtWwfAfByuiyF4t6eZDFHnbKAwMv5XYJ1bV1CH+DoGA=; b=O6/lj8t+deWnUuf5TFY3OLVgDrWGKfJlUlAfNXt5XI412azBqopeBhFdNUXsvsWwKaWpj6X+P+PPZTS0RV2dq3Om4d48Ij81EsEUjTpcDOyKbmWGdWq5Itc9QrjB8zC8mj2yBugvLl/dCeOc+5OoEBLvdzNDcvQJ5eALqR5Q8ee05xrBrK9lAX8ByKTevvVFRN+sxvRQEaEb9RxIW5dT+YlHOp6kWsBCTzdn/0C73O+O95JqoFFcLBlUI8eDo/A1PG29NM7+QFYwOUcn2gbJ2ouWorgXdBHIs5AwgPRJU1yFHSC1PNDroVTSHz7Ap0x6cAAe2cSwaIIqz3hZfdO5BQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FtWwfAfByuiyF4t6eZDFHnbKAwMv5XYJ1bV1CH+DoGA=; b=pMnqOeqZPoflLYCQh+Dz2dnlFwusHfRDZZlhTEJ9ht99Pv3enq12twzzXHP0JPvzEWTfBH4zYXgdJPzpjEyHCqKpOfOjCTwqhfsNtcWloCicOv2xF4K+bNzfrC1APtG/bdDRO2qKf8YWNitpc4akVlHhlZeWC0JiYEbIn01XjLa3386tvYHyt0bZfNiWkT3LqEH5l3LXBvUZ4fuUBgWJh1ENclIScBC5/V76oOKBmJy2/K4U3gzEEwQNzq2SA9zNty0yLhMO/9ln8USh6USCiRvsg61119L0F6MsFGkYIOsIwWN7ctpAMY7RXs9drX9T3E88pupu6Niukpfc7OPQLQ== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from MI7PR08MB201474.eurprd08.prod.outlook.com (2603:10a6:290:112::17) by DU0PR08MB8448.eurprd08.prod.outlook.com (2603:10a6:10:404::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.8; Wed, 28 Oct 2026 21:29:37 +0000 Received: from MI7PR08MB201474.eurprd08.prod.outlook.com ([fe80::f35b:af88:bd82:6dfa]) by MI7PR08MB201474.eurprd08.prod.outlook.com ([fe80::f35b:af88:bd82:6dfa%3]) with mapi id 15.21.0546.021; Wed, 28 Oct 2026 21:29:37 +0000 Message-ID: <7d4c56fc-9bf0-4534-9a90-1a2169023848@virtuozzo.com> Date: Wed, 28 Oct 2026 22:29:36 +0100 User-Agent: Mozilla Thunderbird To: no-reply@sashiko.virtuozzo.com, ptikhomirov@virtuozzo.com, Konstantin Khorenko References: <20261028-ct-invalid-nrpoc-v2-0-968fe985ce27@virtuozzo.com> <20261028-ct-invalid-nrpoc-v2-2-968fe985ce27@virtuozzo.com> <010701a182912e6b-11f74958-1969-4e8e-a6dc-190f70f9dd1d-000000@eu-central-1.amazonses.com> Content-Language: en-US From: Vladimir Riabchun In-Reply-To: <010701a182912e6b-11f74958-1969-4e8e-a6dc-190f70f9dd1d-000000@eu-central-1.amazonses.com> X-ClientProxiedBy: ZR0P278CA0174.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::20) To MI7PR08MB201474.eurprd08.prod.outlook.com (2603:10a6:290:112::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MI7PR08MB201474:EE_|DU0PR08MB8448:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e838787-0011-4755-5d69-08df353a9171 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|23010399003|376014|261028144727099003|4143699003|56012099006|261009223027099003|261022105027099003|261021121427099003|261026140227099003|10067099003|261026121527099003|18002099003|22082099003|6133799003; X-Microsoft-Antispam-Message-Info: j4Z4XGcYocTPTotp0srfQWnfJy8mGhPtshN0/Hxw66sGtBMyKoWbSiYad8B3fGRW59A2PaGfiCTdsCSIuGfmk93jnpYr7bItB8HjuTefvRbnZaIFTveY7DYL/hlYlFs6iZs0vlsX6JK0W1jrFAJSFFkuw9ZLIbdskBrs4dOHTv+G79h8AI4dZLKDFrqnvxhJ/fa8Nm96llgf44/6sF+WluM5HG+5HAbYDx3z98BiHXyNFvBei9mvyyITCQsPglEotdL3K9NKNBTVfxp/sr6S2h+Wl5x76/1myFc+KULCnvE+qSlbqqDST0us6DRNKaal3dgxkFb/YGj7mmwih/vaqIbpU9/ApAwj5tNt/gPDLCszRwS32Vhlpw9Pkr/0Kd6Cn2vGqz+aYi0Mbj5/dS21igMa+6ZRtVe76Mrbb57YMC07N3/5JwX5BLnEvpabWnh/68+2PHBlOIMmoINzaGTJGVX60+9fdG5XAZP6yX/nY+GT9ZRPsaBrCWhPX1K7Wf0ifRr9+hTWGbWhADq4NXzbQICnHUI+KqtDBqDgrw627xMwRR53gscWXdxl+hwGgJXm22rDNNIRfwfjPxg/UJP1A6IFbPeR+eWLMJgUll9J0qBW+tXhDHVsm1HvHl4pG37k X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MI7PR08MB201474.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(261028144727099003)(4143699003)(56012099006)(261009223027099003)(261022105027099003)(261021121427099003)(261026140227099003)(10067099003)(261026121527099003)(18002099003)(22082099003)(6133799003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b0lFUnN3YjRhWXpvRTFvWE5KZGxyQlNoMFgrdkI3K3MyTG5jemZCOXZZTzVw?= =?utf-8?B?Sll3Q0ttQ0JpSWFqclg1OStvSjVpcmFsS1lLZkVTUW5CaktEeFliQjMzejNj?= =?utf-8?B?ZkhtV2R0SXhJNmlnVE1SK3hXMU9mMW9sNlNab1RWVEFkeXExOEVrc25scXlY?= =?utf-8?B?dFF5RCtXWXlmZ2lnMFJ6akVNUlkzckcwYm9lVllPMU02YUcwd3FIZXJQTjZ4?= =?utf-8?B?cmFhOEhPUFBqUGo2dGZWUnBMZFh3bGpjakRzbzc4WVpMN01uR2pCWXZQVFpF?= =?utf-8?B?aVhTUkIwdUNEWmF3UkFTcmZiMGhWc3VzSzIrZ1ptWEk1TkVLaVlPOXArRk9G?= =?utf-8?B?c25RWnRDRzF2NHRWZ0cvNHVpL0VXTE42bWM3U1AyVnZTV1RDS1lCOVZPSmhh?= =?utf-8?B?c0Y4cVRiOXNrdFBOdFVnYVc3R0loc0R5cDNkZ1dUcStOOXYrbm93NHNtVERM?= =?utf-8?B?dXVWMjI5N213OHBZdEZwTk1jNDE1S2lMUXVGU0lPRUdvMGxxS1ZUUmxOelYw?= =?utf-8?B?a2xHZDkyS1ExZ2JhWmdkOGI3NVZrSGFUYVVvUjhRVkE4NjZmUml1N05TWWtw?= =?utf-8?B?NndINGVZZ2UxQUxhVTZIVzM1ZGJZcFVDcEdabzEzRUNHZVBwT282cnhlWS9l?= =?utf-8?B?TndoRGlYMi9uc2NCdjl1cHkzYk9VOGZsclNuQ1ZCZmF1cFNsSlBmamw0cG1r?= =?utf-8?B?Q0Q3THhROFdkK0hrSWFWWWkrc3ZYY1NoUFV5M0ZIY25RVlFTWEhNRXY0d1A3?= =?utf-8?B?UktXN29yMG03NjVSdmxNL3hXSlJBcW1tWUprbC9ia05WTElqcnJCMkl0RHJu?= =?utf-8?B?VldaYVZTd1lwZWx4ek15bDZSdHBaNHZvRXlUM3lqU2ludVRKOGNBb3RwS3RE?= =?utf-8?B?aUFCczdvOUNYZ1hGSTlRVVpVakhkejJPSXZsbkFydHhOR0E5MWUvS1R1UDU3?= =?utf-8?B?VGljUENIbXVUc1hYeGxXaUdXQndvNnVhdTRhR0dBOXBibDFKMnBiSk5YU2hJ?= =?utf-8?B?NG5EZXhaWTVvZkRCOUVxaFlSWVFwdmk0UGFiM0sxZnBpL0YrQmhxTVVSdFRl?= =?utf-8?B?QlNuV0ViZFh5b3Z6QkdGNXpQVS9nWTk0SHo2cnI4VnY5cUxPWEl4bU1adkJs?= =?utf-8?B?N2o3TkdzSFI1cE9TNzU0dVhXTXRETXIySTVERHBiTXdIVXVLZGtxN2haTE8w?= =?utf-8?B?MmNjcDRMOHBOSUJUUmlGMTZ6elgvRm5EZnR3em0zTXZXdktYQ1dmVnArdTVX?= =?utf-8?B?dldHZ0V6bEZ3WEJ5UkptOWVkclpEblpXTlg1MGFSVkxvNksreE45RFkzSkVS?= =?utf-8?B?Vm5aNXBFOHU2TW1NZTRxN2pUTFlxMmsxY3BWcW4yaGozU3c5aUdnaitPMkNQ?= =?utf-8?B?VHFTYTlyRVQ1bld0UG9ZdnJKalhNQjhDK1o5QnRZS1lBMlczeldVYUl3eDlp?= =?utf-8?B?WTRGZmMrWi9pWkt4UDVIMDY4aXVvM2l0K0pmRndmNTVySTB4RjBaRXpTSE9a?= =?utf-8?B?NmRlNzBsZjNmTitnVUFMdUdmK1RMbFUvU3VIQU1qQ0FuODJVakpQOERPZDIz?= =?utf-8?B?SU1kcXdnbFNMcjBqMmZzU282Y0h4L2l4V3J5OGFPNGprLzZBdHoyQVpsVWZy?= =?utf-8?B?SjIxMDVUZnB1VktIMFhCM05JTEwzbVFQMWJZQjhkWlFzVDZqZHI1c2tEMWZZ?= =?utf-8?B?ZnhQZUdSVllTQkd6WXc1dUM4RHBmcmx1MUN0Vng0bng1TlF6OVp5bGN2ME85?= =?utf-8?B?TXJyOU9ESVhJYU4vejF5OFhMRVBSdG92NFZtYVh3QWVDUUhEUHlCOW5aS2R0?= =?utf-8?B?UjhPaE5oRm1MRXFNV3lBVzl4bzgra2I5OGZVZlRQSldpSHFKZDZwWGNhS0RB?= =?utf-8?B?NGNoQWpwaEYwYmRrcjY3a3BRbEdSU1RlbDJNeGJxWU95ODR5aGJuWjdsMGoy?= =?utf-8?B?c28zODQyWWVaajhzWUNQMFJrRG1YZmFnSHFxcGJua1ZXZ1l1VkFDWTFjOXZX?= =?utf-8?B?dE5mbTVMbVlzOWo0UHZEK1NMUnRBcGNVTE9GWjJycXg3bjNnY0pmNkVRb2FH?= =?utf-8?B?OGFQMDRRdGRNclU3SDBJTWxtSzUyT1FPRDkyaFQ2ajBKT05OWFBDZmF6dmNB?= =?utf-8?B?cStLSTJ4OVZEdG1EVXp2M1ZvOStKUlNoT2VialZpb3pONS9iZlhYVkpxK1My?= =?utf-8?B?VkYxVVFyRXNvaWdkZ3o0VndjNTZvVzdFTGc1VWFFbUxxR054MC95YmZSUXZI?= =?utf-8?B?L1lMWjc0a0JUUHNoVFRoN2lzaTIxcmZ0K0FleGtRZ1huYlR5SXArWnNjS3NR?= =?utf-8?B?ajl3REpQN0F3YTB5dXFLSTRyVms2anBWaEE5ZmJnSnJ2WXU3elk0amcxVGhq?= =?utf-8?Q?H9W53Io2Zl2ukJGM=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e838787-0011-4755-5d69-08df353a9171 X-MS-Exchange-CrossTenant-AuthSource: MI7PR08MB201474.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2026 21:29:37.4947 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lQ6RfQYLDGd9xCztRtT0Mgohxf8DOLTdPavelXIa36WQ8VBxeQLoFO/mAGdQYRzQ38zwzCjn7co9pFpt3XRzlIc8pUiwU0+Y4I3acc4rT0s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8448 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v2 2/2] selftests: ve: Test sched_getaffinity in VE 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org On 10/28/26 13:51, no-reply@sashiko.virtuozzo.com wrote: > Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: > - [Medium] selftests: ve: FIXTURE_SETUP skips teardown, leaking VE cgroup and fds > - [Medium] selftests: ve: get_nth_cpu() loop bound uses sizeof(*mask) instead of CPU_SETSIZE > - [Low] selftests: ve: copy-pasted header comment and stray semicolon after FIXTURE_SETUP > -- > > commit 72cb69c9cdabbcdd75bce8639364f25d3d6973b0 > Author: Vladimir Riabchun > > selftests: ve: Test sched_getaffinity in VE > > This adds a new selftest, ve_sched_getaffinity_test, which checks that > sched_getaffinity() inside a VE respects both the cgroup cpuset and the > cpu.nr_cpus limits. It also registers the test in the Makefile and > .gitignore. > > Link: https://virtuozzo.atlassian.net/browse/VSTOR-141682 > >> diff --git a/tools/testing/selftests/ve/ve_sched_getaffinity_test.c b/tools/testing/selftests/ve/ve_sched_getaffinity_test.c >> new file mode 100644 >> index 0000000000000..376b65a215f12 >> --- /dev/null >> +++ b/tools/testing/selftests/ve/ve_sched_getaffinity_test.c >> @@ -0,0 +1,213 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * ve_mount_accounting selftests >> + * > > [Severity: Low] > This isn't a bug, but the header comment names ve_mount_accounting, which > looks like it was copied from another test. This file tests > sched_getaffinity() and the cpuset and nr_cpus virtualization. A shame, didn't notice. Will fix in v3. > > [ ... ] > >> +static int get_nth_cpu(cpu_set_t *mask, int n) >> +{ >> + int i; >> + >> + for (i = 0; i < sizeof(*mask); i++) { >> + if (!CPU_ISSET(i, mask) || --n) >> + continue; >> + >> + return i; >> + } >> + return -1; >> +} > > [Severity: Medium] > Is the loop bound in get_nth_cpu() correct? sizeof(*mask) is the size of > cpu_set_t in bytes (128), but CPU_ISSET() takes a bit index up to > CPU_SETSIZE (1024). > > As written, only CPU ids 0..127 are scanned. If the nth allowed CPU has an > id of 128 or more, for example on a large host or under taskset, the > function returns -1. > > In that case update_cg_cpuset fails on ASSERT_GE(cpu_leave, 0). The > limits_interaction test fails on ASSERT_TRUE(c1 >= 0 && c3 >= 0). > > Would "i < CPU_SETSIZE" be the intended bound? The loop also compares a > signed int against a size_t. Wouldn't bother: 1. We don't run our tests on hosts with 128+ CPUs. 2. This test is supposed to be run as root, so I, as a test author, really expect to see all CPUs available. If someone disabled first 128 CPUs and left on 129..., then something is going terribly wrong. > >> +FIXTURE_SETUP(ve_getaff_test) >> +{ >> + self->cgv2_fd = mount_cg2_fd(); >> + ASSERT_GE(self->cgv2_fd, 0); >> + >> + ASSERT_EQ(write_file_at(self->cgv2_fd, "cgroup.subtree_control", >> + VE_CONTROLLERS), 0); >> + >> + self->ctid = make_ve(self->cgv2_fd, CTID_MIN); >> + ASSERT_GE(self->ctid, 0); >> + >> + ASSERT_EQ(prepare_namespaces(&self->ns_ctx, CLONE_NEWVE, >> + self->cgv2_fd, self->ctid), 0); >> + >> + >> + ASSERT_EQ(sched_getaffinity(getpid(), sizeof(cpu_set_t), &self->orig_cpuset), 0); >> + if (CPU_COUNT(&self->orig_cpuset) < 2) >> + SKIP(return, "Not enough CPUs available"); >> + >> + self->orig_cpucount = CPU_COUNT(&self->orig_cpuset); >> +}; > > [Severity: Medium] > Can this leak the VE cgroup and the namespace and cgroup fds? The > sched_getaffinity() ASSERT and the SKIP(return, "Not enough CPUs > available") both run after mount_cg2_fd(), make_ve() and > prepare_namespaces() have already succeeded. > > In kselftest_harness.h, __TEST_F_IMPL() does this after the setup call: > > if (_metadata->exit_code) > _exit(0); > _metadata->setup_completed = true; > > When setup exits early, setup_completed is never set. The teardown call is > guarded by setup_completed, so FIXTURE_TEARDOWN never runs. > close_namespace_fds(), destroy_ve() and close() are all skipped. > > On a host with fewer than 2 allowed CPUs, each run would leave a CT cgroup > behind and use up a CTID. > > Could the CPU count check be moved before any resources are created, or > could the resources be cleaned up explicitly before the SKIP and the > failing ASSERT paths? Cool, this is true. I'll move cpu check to the beginning. > > Also, FIXTURE_SETUP ends with a stray semicolon ("};"), and there are > extra blank lines in this function. mmap() and munmap() are used without > including , which currently only comes in transitively through > kselftest_harness.h. > Also true, will fix in v3. > [ ... ] > -- Best regards, Riabchun Vladimir Linux Kernel Developer, Virtuozzo _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel