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 4E9FC80E7E for ; Mon, 2 Nov 2026 18:10:42 +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 6A2I9Lom028009; Mon, 2 Nov 2026 21:09:22 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2I9Lom028009 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="EV6E2d9r" Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A2I9JUY028005 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 2 Nov 2026 21:09:20 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2I9JUY028005 Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-3ada6ccd402so2772968a91.2 for ; Mon, 02 Nov 2026 10:09:19 -0800 (PST) X-Gm-Message-State: APuU4Z/jreJCvLAnVomGFMvVd5Sbpx+i0KvF4dVvTWgYIHz8Be+QxXse H0h/1PpcOY+bbQeZYkHIK/9GGzmrPzyAnj5yxR4ts7wB4qfuHdnTiaY9S/xbfTFw3TmfzCXxFbo UOpAE2e2qqDh2yiFDINgtI1wKw0gZfa8GRS6n99CMJUyl8Kw5DbnC0g== X-Gm-Gg: AYBFou0ZxryT45eP3r4vSt2btcLbQSxFcNw2GOS+C3RA/39FptE1Fl/GFMEDXQ1v9CY bToDZ3wj/Vqmk0UJH2oONH1j/E5EJKj5tDdMJoq1/D3SgmO3yoffS0NJqHOPgX02F6UvnVmH9fg M7IvOnVsyBMgSfHhL1VKdde8u6yEkiqG/Dr0tm/AhDaVNq5xjxODcJJBZ6tlVUUZYWyy9s7iVIi RMSzLW65ga27xWrC5Io8A4EsVBJkXF8FC2rGP8BbRFzHWpE14fzcjXOb6mpm/6YX6LMhm9PC/O/ eldYWiwiOFNmavY+JRGbsYUXpsGereGmdW+tVo9c53n+3rdMzyWrjIzihYNJgDPHrryXNQCY3hk lXO54cOXsllCtYqWROGwilqkeJMg653UklTOugT6y7XFFb0SZJu6XzpyE2waDSCiHG4d7mmAn4H 9t0+ZOqa8grjGOjpz0MMK+o/wcoKugiNhnBQ== X-Received: by 2002:a17:90b:4b8a:b0:3ac:1c76:61c3 with SMTP id 98e67ed59e1d1-3ae8974656dmr8086156a91.27.1793642958548; Mon, 02 Nov 2026 10:09:18 -0800 (PST) X-Received: by 2002:a17:90b:4b8a:b0:3ac:1c76:61c3 with SMTP id 98e67ed59e1d1-3ae8974656dmr8086131a91.27.1793642957955; Mon, 02 Nov 2026 10:09:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1793642957; cv=pass; d=google.com; s=arc-20260327; b=Ps2LxYVe0fn+Yp+kuLBY/m8T6FFp98KbJkW5ywDQJKdiaFEJLi/tA/De3IXCGcF+QQ MBDup9E4maBwqcDc2xB0NHiHM9v+nyK43MQ7g1nNa5jUmAOYLUhU1Ss9qaPggoY6jOLE pNa6qfsR7bJvWuwknyoOSaFFd+e+bch0881lSicGwOz+MVtDranvMXDqluOtDOuxHif5 pJsJ3391ZftL7WcHp8Cp9bQHwQO2ZvnMk1p5eeNdgNCmq47SFpym7OaT5HXJmXIw9z79 lRAYmvB5I/J3bzCf9+Z+Ct+ELe1nZ29tqZcUMV/BSivHLqdQCrdH/9d6EKEP678QcEej 0khQ== 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:to:subject:user-agent:date:message-id :dkim-signature; bh=LMEAMjPVHrIwB44vDBn3DUR13jI7WOyFLKtgjvQ5xKQ=; fh=squ0QtEyoL8dOT6TQ6pLa7jO82CZ+uDcGrfP4nCeaVg=; b=cICeZDuLw23+LHua+z7i8n7uWvYvfbbmjE9kxc/dSdwwakkRVtxqMbhDu44Urahji8 jZNikfcJ2El79Z3A767r4UiwSwkadCLYwc4eOOHW2jeIZF6WX80t3k5B0wofxoQD6Tbw BiVp6NkGPbNS82LCOqbu3g/ePi8Ss/S7me6YwStzI4thhBLzAcnQTPuCpUGNqz7rRCMa er/ANY6fVdVxubuFWFTKf3YFNPphltDR8jlZr0mIjwvpd1KRt2oQ23TBeD+oHcVSs6Mt zxdthFbztDcDq6Z0T/MKcrWDMgfbjs3zno1vq8IUSDVAFlJdgdEnDUYMxLbyVpM3OX2t QOQA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=EV6E2d9r; 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:c207::3 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c207::3]) by mx.google.com with ESMTPS id 41be03b00d2f7-cdb3655f7f1si535950a12.401.2026.11.02.10.09.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Nov 2026 10:09:17 -0800 (PST) Received-SPF: pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c207::3 as permitted sender) client-ip=2a01:111:f403:c207::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=EV6E2d9r; 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:c207::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=PnnioiTssLs8y0cNTD2+y5AVpThWMIAwGIHlcA6mR4mrvALFF2cTNOD9stStRZhaH8gAsfaSMB1TI+0gH5fxFe3V34DOiAO0lh5WztNXfGJPpE/FyvfJVoaQe06kz0ZBdp1nxY9Mtbqn7ChffrWCsUABP8IQUu/mQBqvd3O2fbUpslZO4qa142j7zUJ1NN8GP653+sxijqF0C5+URv3FoKZ3uzqZeSDh0lfR24TwfyQc8UU78+0aFSPw54+a9Wve8Bv5k6AiEUPTTWAxrz0aKPFTG/pUUIAtlMrlDcUPqfaeGeoI5pvlirbVt118sW+PFpoa59qcXE4tqlYYts1OXA== 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=LMEAMjPVHrIwB44vDBn3DUR13jI7WOyFLKtgjvQ5xKQ=; b=G8J2JxqdL74OP2pxhPGSOEh7gOAguzlIT/G9zaOta/0k5xmzjvAW6hJI1DFgDxJ7tjgDEDp9WTLEFnGRoS1syMSdILalQIGqMUFJLdBMdt6VTD2vOgTc3fnyvB7H+mpgqOnRx7ZEPa/XgDZrueOxhDr+xmUqJd3e21ITCvL6+GqjzZTjNw8jbZPTVZ1VEFlO6x0K5xOXSEoQoO5+86loo4kvBdmk9up8X7G3u/zNyX1KHm7Gi6Ga9Eyoka7S9HhC4bXcibGAgOJvPjq2tPdLQMEM7n5uDmbEDXYRAfqKeLIRUg8uCbbLJrRotoFoPTlaJY59pQY7cHEgfeS5yKvWBA== 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=LMEAMjPVHrIwB44vDBn3DUR13jI7WOyFLKtgjvQ5xKQ=; b=EV6E2d9r0z1VESE4H0E0jYgGsW1frX7NgEXNynu3L2mTu8mNpSGude9iGnJpniBY6RkHgkoxsQyEAgOERZVCJPM8J6z8uOXYFGTxmcoKbJCYKV0gwTU6n1PmqE8XouW/1o/KnfWgNYbkOBqoWsC7S1837cElX+rYbKS7LLNydsG715OAmB1bsxUm095+5BsB/ruw2lHHV0GdmXsp8l3qw2BPdw0v7ePkMckvYXHB8t9yP14mHHy9RujCn64bAKby6o1E66sILQQK2trc6zoFT8c6ImdShqQ3VVCSzF+v2uo8A2h4PMe+eQPCJ/9P2H4CPfaN21Sg0IqSroQiqDyhfQ== 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 GV1PR08MB8741.eurprd08.prod.outlook.com (2603:10a6:150:85::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Mon, 2 Nov 2026 18:09:12 +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.0569.011; Mon, 2 Nov 2026 18:09:12 +0000 Message-ID: Date: Mon, 2 Nov 2026 19:09:11 +0100 User-Agent: Mozilla Thunderbird To: devel@openvz.org, "Denis V. Lunev" References: <20261102171504.3809155-1-den@openvz.org> <20261102171504.3809155-3-den@openvz.org> Content-Language: en-US From: Vladimir Riabchun In-Reply-To: <20261102171504.3809155-3-den@openvz.org> X-ClientProxiedBy: FR0P281CA0119.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::17) To MI7PR08MB201474.eurprd08.prod.outlook.com (2603:10a6:290:112::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MI7PR08MB201474:EE_|GV1PR08MB8741:EE_ X-MS-Office365-Filtering-Correlation-Id: 9baa070b-ce3a-4b82-fc64-08df390c6630 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|23010399003|1800799024|10067099003|22082099003|261102123227099003|18002099003|56012099006|4143699003|261022105027099003|261021121427099003|261022075727099003|261026140227099003|261021123027099003|261026121527099003|261028144727099003; X-Microsoft-Antispam-Message-Info: aj3TTrnsvvAEi+1JHE7fyiMgPcSNFpXlo7SzJGItHdK9wWWb9AND8DIudcOpXFOiCc2OqoUQHh9wDcIiJbqZsLLOZqbG4H6GeICzBQ+gzgHGFBBAV+rJBW98JwzAIWOPA0AJcb17v//PTPOwCcLkCNtM8YympdL+qRyfqAkLa5bLnOLIh0+6bVJylWld0Kx6vAtZc/2t8PaqUIR+uOkvnj8a1AHtTQ3Sqdm7Zlmw0IFG4jMiX778Fx6bCM214OnYxTz1Ltukh/3w+HL3OtpdtCje+sSz6TNZcc0hX8+e8TY7aNp2mPNumJJnQ0lM/1Dwj7BJ+C6LXuHt6eWkiw9cgN2tPMuHUCgGNe47XVNUrbfjKaCQ8yTfLW1nnFlOV8LNWHO2k3/4pxmuctODYfms+tGj2RnudhumMO+/aj71Cmxzi17abiwHe1XCBIMZb6CNy+lkTSRrdxEXon/IQxQSlot4kvS/QqZ4NOB+NxfwfAPSPe6dJJqH8/f+FThoYwXwsUsLj9lgiQWHiPP1ekpUBP9lXcbxoEIgLP9V/loTkLG3GJgikxrmU/l5RurafhNCgALsEVl2rtsapkGmkSFyz7FV+ruF0j0pwdXuMQUi33B/wLrMX8ZyL6y7ceCfaylw 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)(376014)(23010399003)(1800799024)(10067099003)(22082099003)(261102123227099003)(18002099003)(56012099006)(4143699003)(261022105027099003)(261021121427099003)(261022075727099003)(261026140227099003)(261021123027099003)(261026121527099003)(261028144727099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WStlbjltTjBKM0hRVFliRUw1dklzQmFFdDBYaWZheHUxRURQSitMSFNnRXJM?= =?utf-8?B?ZzVJaUVzaTMzc1pjOEUzNG05TmlYblVBZzBadWo0UTk5T2xjUk1HNStGaWUw?= =?utf-8?B?bG5uWVZYUUpKZmR5eDlFbjh3Q0hMK2hKeVdzUnNTV0t1L0gwTnEvd2ZKL1hv?= =?utf-8?B?aThWVmJWSlZjbFRIaE1haEtQeWE3Tng1SlRNaVFhTFgxWC9YdnRXTzZIU0Z6?= =?utf-8?B?KzV3QmhNemtQdDVpa2RtNHRGNkExbGpSZmltMUxKOW1XTFR4TG93MjN1UUhQ?= =?utf-8?B?Wi9CLzRXWU5ieDAyenl6Q0dWWU5ybVlFTEhCV0VkWXRVOEI3WHMySjdualVp?= =?utf-8?B?MnRHWEswMEhWdnlKNXNJam5BNGI1YllXekRqMVVSNklrcEJ5UUlUQWNEdjdr?= =?utf-8?B?TWZxcXFyRVpFUk1lL3d6UHV0VGRybUlQQUt5dW5UWmc5TzUyQVVITFJkNE9E?= =?utf-8?B?R1dlenNOcGRMRXVaL1VaWFo5Q0lpbXBSSmw4d2s3TmZHN0d5YzJRcFBKQldY?= =?utf-8?B?Y0NXWldhREVDb0dNMldaU3Y3NUZGa3QyNFlvb0krUjRSRU50dFBMRTVaTGRQ?= =?utf-8?B?Skp2ZVhSZVM0c0loQ215R0tPbnFPYmdUbEl5TjBnc3EzYnE5SVJFVDFqNlJB?= =?utf-8?B?aE8zOEFrODlIbFRzOXd3Qjl1UzNua1FGUlpoSnNZVjdOK0FkN3NzdHRvelRU?= =?utf-8?B?RXBLOFZnZG95cElLME5Pb1dOVXpZcTRoNDJhcHZGNlBScmdKWEFZajU4RjVx?= =?utf-8?B?dVI4TUZWTCtZTFRET0hackdOTjdaUFc1WkNHdzk3SG5tTUVJb25WSzM4Q1Fn?= =?utf-8?B?Tk5FOWFlOGhRRUlPMXVXdGJSN2RLT04xV1c1RDYveU44ZG0wUWc5WC9jSWcw?= =?utf-8?B?ZE9RdG02eUVueUVrbkdhWDhVek16T0pTcWZ3a1Y4WlpTSkJWWU1QeTVEVUJZ?= =?utf-8?B?Tnd0OFZoOWdnSVZzd2RHOVNtYTBPdEZwVVg4eUZqY3FXUVFSQjhRcWpMejJh?= =?utf-8?B?UXViYk9uTmJOY3MwbUxlcDJnZE15ejh1V1pGVXgyMTQzVXMyYUNjMk1EaE0z?= =?utf-8?B?S3k3Q1ZGYitnTGI3bVl1RnpoQ3FXekwwSllaQTFEeEF5YTR2OEpaZEhSRXdj?= =?utf-8?B?aGYyZzlEQTdEQTdTRHBhbm53alJKdUdnN0RRTHJIWlF4TThVT0Z4N2JkYmxj?= =?utf-8?B?YUZUN0RiR0QvOGVpeW9BWUJCMTE2THd2RlBCQnVOT252ZkZjSVUrOGZIQ1Rs?= =?utf-8?B?dHVoRFJRZnlsTDhqcUFGRjRyYUhWdmtUSnNIWGJOKzh5RjR2WG15cHZRMUZz?= =?utf-8?B?WGlreGVmQkFtWnovTUQwREo1NEY5Z1ltQ2IzclpmbE5mck5WWjliV2FwS28z?= =?utf-8?B?OEw1K05WYVdJTzVLcllPZ0pSS2NKWFhyeVdpMzFaTUVaTlVFT1Q4OHRUVjls?= =?utf-8?B?NG5KREtEdXJRMmFDbGswelRxd3BkdHhGSGNRbGMyL2tqQmxxTmVxelluaVdh?= =?utf-8?B?SHZ2akJSa2YyakF1Z3VDc3Bsb0Y5NjVZOXFja2hSYXFIR2NUWTQ4UjY5UWVk?= =?utf-8?B?RlMxOUpZbk9oUEpDWUJBZ3d6RGZwVnBIK2puZmVIK0U0Vk5pbHpsYWhiZkZD?= =?utf-8?B?NTRWQk41NDJGQ3BFVjZaamFWbjZzeUptQW9IZklNSnoxWVBKMlMyYTZpMWpP?= =?utf-8?B?a3hTOUJsSlRkUmE1YXBiTVZJejVMaHpRVjQvQklxeWEvcXpIMzdPc3p0eUNu?= =?utf-8?B?RVhvcWU0T0tFRXR0SUFlZzdiRVJyeXh4dWFKVHhlWUJ6VW5peVRhZ1lteFdC?= =?utf-8?B?WGdBTEVFTHZna3phbEtmOGt1alVQeHVMR1VBbHFmd0VOZXE3OHU4Ym9KU2x3?= =?utf-8?B?NnZ6elpETUZzbFc4NDlUTzAzYU9GMjFEREtkVHM2blFQNER6eHowOE5peWtP?= =?utf-8?B?dFB6ZHlITzBTaUxDTUNDa3NBYzF5QXB2aXB4cnpLUFdrNGR6akFZL0szUXhT?= =?utf-8?B?M1I2TEZYbTV6QXVOa1N0ZGExRUs5Y3ZPc1FCaGZWTkNSMkVrYnowbzc4N1Iw?= =?utf-8?B?STN2UHZYYzRmbEpVMHF4MUFtUXYwZkxhVWdpMHh5TTlEVjBHZHp2bmx6M1VC?= =?utf-8?B?Ymg3N1lHQ2tUTU9pVHlLUG83RGF3MjduenZvd3FENTVoUm9NbkV1ZVltWUNL?= =?utf-8?B?dkFoQVJwaTNsdkFuTmFVd2RuaVFCczhWeFBwNjF3RkxhNUZUdVZocGtJc3F5?= =?utf-8?B?aFJvb1ZtM0lDUzlhKzhaSnkvc0JQVUNyejh3dEI0dDNOeW5XRlNxNUt1VHhq?= =?utf-8?B?ckhaazV6eENkZHQ5aHJWb2pXeU5RYTJ4bERFcUlhZzgrL0w3VmNPcmNjcTB0?= =?utf-8?Q?nXT2OdQ+pXf14A2M=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9baa070b-ce3a-4b82-fc64-08df390c6630 X-MS-Exchange-CrossTenant-AuthSource: MI7PR08MB201474.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2026 18:09:12.7407 (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: R/t0A9d4tg5oG41yM0xgNCsOqxLVo0fY1khjRV9Ly5WCK4nPoQZ09U2zvGxsDJfzceGV5gqha5Tijk9EJuKJ+f1apIkN0T1kSjcfTcFmJGo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8741 X-OZ-Fwd: true Subject: Re: [Devel] [PATCH hci-8.1 2/2] ve/vtty: wait for a closing CT tty instead of failing the console attach 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 11/2/26 18:15, Denis V. Lunev wrote: > From: Denis V. Lunev > > Since commit 23abb203a41a ("ve/vtty: fix use-after-free on concurrent > tty close and reopen") vtty_open_master() refuses a pair whose slave > count has dropped to zero: the last CT-side close has committed to the > final close, and the pair stays in the vtty map only until > release_tty() runs. The refusal is -EBUSY, the errno which means a > console is attached, and vzctl gives up: > > Error opening CT tty: Device or resource busy > > The window opens whenever the last process in the CT closes its tty: > getty respawn, login with autologin, SAK. "vzctl console" run right > after "vzctl start --wait" hits it. > > Wait for the closer instead, as tty_open() does for the same window > since commit 7f22f6c935cd ("tty: Retry failed reopen if tty teardown > in-progress"): drop the slave lock, the vtty context and tty_mutex, > reschedule and look the pair up again. The fd and the file stay > allocated across the retry. No userspace change is needed, and -EBUSY > again means only that a console is attached. > > The loop ends. Both counts are zero only after tty_release() has taken > the final close, and the closer then only needs tty_mutex in > tty_release_struct() to reach vtty_shutdown(), which removes the pair > from the vtty map. The next lookup misses and allocates a fresh pair. > The opener spins on schedule() while the closer flushes the tty works, > as tty_open() does. A pending signal ends the wait with -ERESTARTSYS, > so the ioctl restarts or fails with EINTR. > > Fixes: 23abb203a41a ("ve/vtty: fix use-after-free on concurrent tty close and reopen") > > https://virtuozzo.atlassian.net/browse/VSTOR-152365 > Feature: tty: virtual Container console > Suggested-by: Konstantin Khorenko > Signed-off-by: Denis V. Lunev > --- > drivers/tty/pty.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c > index 14d46bb9c293..6415456dca13 100644 > --- a/drivers/tty/pty.c > +++ b/drivers/tty/pty.c > @@ -1054,6 +1054,7 @@ int vtty_open_master(envid_t veid, int idx) > * else would access it while we're holding > * the lock. > */ > +retry: > mutex_lock(&tty_mutex); > vtty_set_context(veid); > > @@ -1100,15 +1101,23 @@ int vtty_open_master(envid_t veid, int idx) > * user is gone and tty_release() has already committed to the final > * close, release_tty() is only waiting for tty_mutex to free it. > * Never hand out a reference to a tty which is about to be freed, > - * report -EBUSY so that the next attempt allocates a fresh pair. > + * let the closer through and retry, the next lookup then misses > + * and allocates a fresh pair. -EBUSY above means a console is > + * really attached. > * > * A pair we've just created above is exempt: it is not reachable by > * anyone else yet and its zero count is merely the initial state, > * vtty_install() gives its reference away to the master peer below. > */ > if (!created && slave->count == 0) { > - ret = -EBUSY; > - goto err_unlock; > + ret = -ERESTARTSYS; > + if (signal_pending(current)) > + goto err_unlock; > + tty_unlock(slave); > + vtty_drop_context(); > + mutex_unlock(&tty_mutex); > + schedule(); I think cond_resched is better here. > + goto retry; > } > > /* -- Best regards, Riabchun Vladimir Linux Kernel Developer, Virtuozzo _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel