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 BB0F6811BB for ; Tue, 3 Nov 2026 12:44:06 +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 6A3Cgsow005249; Tue, 3 Nov 2026 15:42:54 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A3Cgsow005249 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="c557Ws58" Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A3CgYHC005193 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 3 Nov 2026 15:42:35 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A3CgYHC005193 Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-3ad840053c7so3232513a91.1 for ; Tue, 03 Nov 2026 04:42:35 -0800 (PST) X-Forwarded-Encrypted: i=3; AKwUvBxiKXT4j/0WqMCGvXZumg16wABhGvrQB8G1ndE2vKoGTXUB1U/aJAQ7/nQQcXkiNCZhmJG92A==@openvz.org X-Gm-Message-State: APuU4Z93WptShuwvZpe28LRcHrFopC2VHU9KRhIArM82G6qqxZO3DQKT ULy/73Uak6qXU+szJTuOKcqyYE7qTEoazBYffm9zqhsow85if/blg+GTKoDizRCH9I0VqvxnulT jzs6D7tYzLi9OSlvFvYMIrwSSevWUec3fsD1HwOLOiuDfFR0AzydCLA== X-Gm-Gg: AYBFou3bVE1yBeP7y07Lfbv+ampdvAmqCCBk7bpuC8uJ81IHaWzRmg674TITR0KX0Wk KPNKg20FlzzzjURd5QkPmE4pAYv+6E3CvOU9I5qoMMT1yih2UjBMt986Kvqlj4XhBbEt/A+1O40 8re/0JM98Kk89Fa5ikOOOOt6GNTXoVtt0tnbBEwDT1xF1XIlMmA/pyMLirjpOMVCwIqJ4b9rFZe A1JStiAggl/KkdPl/d90J6ti+V3DBPCQtukvVC9Yu4kxUYJmhGSuoc6GZbTFvjdQgXcDKaOkQLy u0wk0ZMvOWsj2+UMwvqqC40//fFzn3FVhS0Zy8G6UuEItu3vepQt3E0SQVqYpM17K730hgWmXi5 ovtu4099Y0exV6vyLYrxSRL1vfVVG09t+OCksijya/tdzVc39xN/fYF7KM51fXeDFEUiwIbmjSP PFP43ENONnEOhMSA== X-Received: by 2002:a17:90b:3ec6:b0:3a4:ba6e:65c9 with SMTP id 98e67ed59e1d1-3ae8982640fmr9464167a91.59.1793709753922; Tue, 03 Nov 2026 04:42:33 -0800 (PST) X-Received: by 2002:a17:90b:3ec6:b0:3a4:ba6e:65c9 with SMTP id 98e67ed59e1d1-3ae8982640fmr9464146a91.59.1793709753334; Tue, 03 Nov 2026 04:42:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1793709753; cv=pass; d=google.com; s=arc-20260327; b=R6sgoKesN+nk2QwhDr+I7sbV8rU6UXM3gtm9XPHQ0uTKyIRb4wf8tNEP2+oa/6oPkt +p3jOGMcJz0NuAczC1qahNGXFfilxBDvbb3N+vZAVwbXa8BYwyKIaj7uI7jkS2jXtDHP gdOpmCHwuthDJ0HKxh/F6S+L34/GP+TChWKXQENXDRgWI0K73uSb/fYn6KNAeBj3Ni0j KHO4clMAyvYG4LdupRPDtz7uYL6nxqHmiDPkyVerMPAynzPioyBsje/FNghGO2UYLVEC 5L2uG3d01Mr0Ey+Nc8wJB2E4D9AEzMNh8nnj0LQrC+BGc3mQhJftr2IRzkfgKJ+75N/l k+yA== 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=VeZBbAIkp4F9EcXvcYwHMpHxCzfGCHVzbNdRUAq6xrA=; fh=NHyC0h8Lc40gAuREvWUTfp8lK0TBSES71goz7v7dIZA=; b=Gak4RZn0hl2OdKBJMnrwoFZnZvQKZBz+mRDivGyHo60HSibHgWbe/24/9Oi/aB5Gnd rG3eX/HXUGTgtirLS0HXRJM4kqDY7LvYi3xwlcZwlTvg5MpXEQRSfWendzR4+l6i6K0n 6tQvTGODNOUAveLXAOlTZJoN0HAi1PKRrzH/B3VmBvhXr6iCzUcDGFaTCWC9KzBPgPi/ 5Iv75TDtWQ/1MIrrkc+ydcSW86busRvSVrWPMRbmgUZrO/sevrZ/ZytfPORQBpTgGJkI KlK6KFKcu2bgwbSXbVfEjVB80vgVdWkmW99tA0PA+RYJ9ToKzWsHcjPs6joXwe+GSW/n edDQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=c557Ws58; 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 den@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) smtp.mailfrom=den@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com. [2a01:111:f403:c201::6]) by mx.google.com with ESMTPS id 98e67ed59e1d1-3b07c818730si4993711a91.8.2026.11.03.04.42.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 04:42:33 -0800 (PST) Received-SPF: pass (google.com: domain of den@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) client-ip=2a01:111:f403:c201::6; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=c557Ws58; 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 den@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) smtp.mailfrom=den@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=V7Z8Q0Wxo+QVwQGfpeihPyiyrMhsJ2cdVXbzYVPkQm2P+yf/BYuMWN5S/SsQIsoA75jMwMrF+VSnHdH9yQDZ1TV+UNP93Ra4tv1N2pnIpv6ZJiJrRHV15XJY6jcg4aNW2TRWTjns5HF3cjVIums8Sta9v2shcrjYLBbCG6jG1/zZiLlXXSFf4xH95ChMVsSzKnI0iY4rGBSMGJ3Zbm2MvapsA7Tpi9D0lDteAsyAjQo0Xh8qFzMBvojJT1GGAs2TlhD4mDneLeCi/MmugxsrKVG6VxfFcj1VZyzU9YaDD1ih8jidKd6VWZN7sAlScM2owsIe0Pti7VFPYlvaJWyEYA== 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=VeZBbAIkp4F9EcXvcYwHMpHxCzfGCHVzbNdRUAq6xrA=; b=OY/3PR6T0WWyD7AIGOezrJrNCx3JKT4IJ4autoiUOTUdRcozklyi1X6rO5AFdWkIukKt5yLPqNhP8JqB7e06AE0dpoqStEwoKeU6CO9P9oR5UAsPM/Zg7LL1ujYyIt+cmaywZNDKjOYB/7gShAJSwHwqmzJw6qAxHNjvRmSXoPvna4GZljxm2cEsTpa2zc/cFpWYJDhks9C4qP5yaERq43SAvuYQZi1lMBrue0199JKt7rttPEzlKd/AInKWt5D/JMW6sNuOEhjEEzAXqZLt/qrpjTlRmTNDFfudb3VEYmHDQlzhF86KTKd0UAT6VOYYX8dlcgwa8Ie1GQDZIFocrA== 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=VeZBbAIkp4F9EcXvcYwHMpHxCzfGCHVzbNdRUAq6xrA=; b=c557Ws58H3KmdS73RJ9kbNlr50y1tZRNKuFJ9IqTEYJuQnfkLRf6fCgvfAHgM13WLBAI51OHaSzbZrt1cnI8NeXvWqCfHm+nl3ovli8H0XUW5LYLhuu80hiPhgJTrIm2OpUr3o8eyBubr/adotHrpAO7To1GzxAcUAVn7Jk2fo2CAvxZemH8X0oksMKdFP69SE4jys1udqIW0oE5JFDi/svVXMxoeJSPRbi0jzxqPeOSlDlZw4pfVfivvwzPiSJvjx+4NCFS7G2thZbCZCYblwkM1MMGEKq12YLfKBDo4xvGIgWcFSfFz8mITXW4PFLznMNilg74nwL898o4+NK6rw== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB5892.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::16) by AS8PR08MB7992.eurprd08.prod.outlook.com (2603:10a6:20b:571::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.592.8; Tue, 3 Nov 2026 12:42:29 +0000 Received: from AM9PR08MB5892.eurprd08.prod.outlook.com ([fe80::94bb:633f:1f55:4bbd]) by AM9PR08MB5892.eurprd08.prod.outlook.com ([fe80::94bb:633f:1f55:4bbd%5]) with mapi id 15.21.0569.011; Tue, 3 Nov 2026 12:42:28 +0000 Message-ID: Date: Tue, 3 Nov 2026 13:42:27 +0100 User-Agent: Mozilla Thunderbird To: Vladimir Riabchun , devel@openvz.org, "Denis V. Lunev" References: <20261102171504.3809155-1-den@openvz.org> <20261102171504.3809155-3-den@openvz.org> Content-Language: en-US From: "Denis V. Lunev" In-Reply-To: X-ClientProxiedBy: VI5PEPF00000937.AUTP296.PROD.OUTLOOK.COM (2603:10a6:808:1::828) To AM9PR08MB5892.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR08MB5892:EE_|AS8PR08MB7992:EE_ X-MS-Office365-Filtering-Correlation-Id: 0590b2d7-641b-4218-ada3-08df39a7eb69 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|10070799003|376014|366016|1800799024|23010399003|10067099003|22082099003|18002099003|56012099006|4143699003|261022105027099003|261021121427099003|261021123027099003|261028144727099003|261102123227099003|261026121527099003|261026140227099003|261022075727099003; X-Microsoft-Antispam-Message-Info: h+LcL7dVWyH2TL/aLJ+emafJKbhuIcpqzTY9Q2nGTrp+omm7nsHNMHW7om6G+uZ90EFyBaoAA56Kypj066l/VcRAhYltsX+Y8GMmuX3Kt2kGSaxtmKlNseg2382bd03/r1cruocvY+gUgb4NcbTiU8rlxUyICZjMo7f8kjdFxETJLK0YoyCynAOkv+nwCoXmdTXv45dnPzF7PNVmqLhjPXg92/u+XgPVGtIuFzic3gx61H/72hPjJcBFdgOD76jGGU57lzYdQBX/5Hx9cwzyrkCq2NCnDe8xS91pf8s3KEeAQ+BUIpPOo0qk3K5z2IFJEXydMZDo1kbpaHVz3K737rowWcfh0qm5erjIGyTc5sLtVGc3LF/BCG32AOL2xgH2qnj1iDKzns1w4Pn91zPoqHP/N3qE7IvN6O0jOGv2b2sXx21J8i5LlB2nGwvk6gq3OeBV1twLUDC8U3cBLs0oQ2tjLJ4my3qJjiGL+je6eHaZzbvIyUAFhAEDcb/Bxe8QmLXA9f7apadag4rAR2T9fsj/mCKeSioN1GifgP7gMIgqsGfri0wDvCzhLLStHgObuHUwIYv4PI8mW7fykfGnMG4FB+oDdIPtjme7OuhySTuyE1kmGcsJpx4uux9Q2DW4 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB5892.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(10070799003)(376014)(366016)(1800799024)(23010399003)(10067099003)(22082099003)(18002099003)(56012099006)(4143699003)(261022105027099003)(261021121427099003)(261021123027099003)(261028144727099003)(261102123227099003)(261026121527099003)(261026140227099003)(261022075727099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VUhkRXFnQ0IvbDA0K2pqSUJmc296RjFyNHZRemQvcUxrek9icDNKOVlCWXNC?= =?utf-8?B?TGtyS1VQeUZoVk1CR0h4V1N0YWx1ZjBQck5PVjFKOFZsWXBFbGRiOTVHQlN1?= =?utf-8?B?c2lHT1hVd3d1VG5wM0FncWN4V3JoWC9YOUZqTExQTjVqZWNxcDROaElzNmRS?= =?utf-8?B?a3ArbUN3Sk0vazZpVloxdG56RHhCRDB3dnM4RmsvdzlTTU16U1MxSnlML055?= =?utf-8?B?Z2RhY2R6c1JXT25mNmcrMmthWXZMU1VuQWxZSG9EZWpac2NPZ2I3anpKVWEx?= =?utf-8?B?WCtxRnZtaEczbkJyQVFWMlF6L1h2UnlaSGdpSnlIOS9KbitzUDJRaSt3Wmsv?= =?utf-8?B?REVBWG4zVVZINVlzSGFYVEJMOGV5eU04azBKSS83NDZ4Wlo5ZEJDOG1Ec1Qv?= =?utf-8?B?ckZIRVB6b3ZzbEJDNTVLNTQzUE5NZXNFV1BDVUZldVBtei9Fc0dNQ0F2N0lP?= =?utf-8?B?UHpiUVlpRWt6UGs3SU1HU3NONDNjeUhOckw4bVR6MnNSY1ZCYUZZUGdFL1d2?= =?utf-8?B?aVVHamNTeFh1R2habXFQbWM0bEpESG8wclphRE4waDJxdUFrQ05pWjNTTnl2?= =?utf-8?B?U0RRVzFlZ3FabzZaMldkZ3JLaVc3c0dOaTlLRjVpK2VMQ2g4K1hrU2pKbXhv?= =?utf-8?B?aVA3R3Fid3djWjRHOEpzSVpKYU4xcnVtWEdlaEpGVjMzdWt4Y090S2RtTmFs?= =?utf-8?B?aEFtNE9rR2xVdVdoOXhyYWZVc29FZ0dvRDlPUUhYOFNuUGFINXcwS3pNSjBO?= =?utf-8?B?QTlBaFVoSkxNL1BXZUQzVmJOTjRWSVJlOHFTcUkzdWtaa05kU24yVTBmTjFP?= =?utf-8?B?UDZMblJzVFo4VXJyb2xsNkZGYU1USGJQOXVnQWNXakFPeFJ2NkY4THlFa1ln?= =?utf-8?B?a21CSXlHNVRBWmNkSHhScjlzaXlTRVpCa1dsSVZ5cHhkMklLYXltVUlxUVR2?= =?utf-8?B?eUlDNWErTEltUU82WHRqZDQ4a0dOeEdlUDR4NGRyN1lKRkN0cUZPTm5NTG1I?= =?utf-8?B?QnlSOTdlYWpKUnl0UlJkbGJZb2tkNFVwRXdicWNHSEpRN2xPSVpRdFZpWlhz?= =?utf-8?B?ZlhjYVRjRTJsREduQVpzeDhVVmlBdjNFbWJjQ1hFdkg5UUhOVW5wK2xneGJW?= =?utf-8?B?WlRKUWMrSi9vQlB6SzlNSFdpVTcrOWV0SSsvcTJWTm8zNzRUSUdPMG1jNzZS?= =?utf-8?B?NEZGZ3oybEFPVThKU20yaGxIcHc1dDFyUjlCS05HT05PQUZjNXJsL1RKQ200?= =?utf-8?B?ZGNXNzFJVnpmdzJ5RjJaNVZNNHgvaS80OVdEU1g1LzQ0N0lCZ0swQjVsZEVT?= =?utf-8?B?M3FFN09YU3RqN3M2NGVtZmxEZU50VVFjUWlPT1RMek93OTN4eG0zM3dQdEF4?= =?utf-8?B?c0czWkFPV2RCYnBEaThTWFJiOGkrSnJuTkhSWi8yVVFEU3VMTlpGcCt6Mnlz?= =?utf-8?B?Z0NIc0RHVGZ3TkhwZGc2aHcxTjRMdElFNUVpTWJWRlAybFFhWUxqUStFZHRz?= =?utf-8?B?emhwckx0YTRqcGJtNHBkQ0RxeithaHlHemlRc0tmVHFwRWI5TUpvaXBpSlBV?= =?utf-8?B?YWYzMWp0dnhMZTY5YVBUSDd1VncvQlZDa0NzNzc5dzFoUEZCRUNLMkk3cmFM?= =?utf-8?B?L3BvQnprWm0yUVJ1MXQrcjRBOTdhVW1uaE1aMzdaWGVVcC9UZVNBWEdxL3Yv?= =?utf-8?B?Zk1jaGVqSHFUb0M4NUpnLy90bjlUZUp0bzc0MjhGSmpTN2NHUzEvK2NGNDhh?= =?utf-8?B?SGVZTGxhY05nV3VOZmR3M2MvU1pob095WXppUlBURExPTVc0VWZlWXVESXhE?= =?utf-8?B?bEpzczFwdEZhK2hLd01LbXBTdGx3bXI5TU5vNTFlTVZrdjFkdk43L2tlM1ZQ?= =?utf-8?B?eVRUWDB5UnRIL2hWNkUxQzFjRmVPeXFHZEFHclI1WUVLZ0FvT1pra1ViMyt4?= =?utf-8?B?RjdOd3k3QlB2VzBlZE54SXFyaTBGaHAxZHZ4eGticEpjazAwZG93YkdHaTQx?= =?utf-8?B?NHU1bCtQOVpBYWZxVVIyMjE2bXVTdXBxRHVLWDRLLzlJeGdyclFyRlNucW9I?= =?utf-8?B?QWlJUDZRbjRwMXlYY3BmNldpdjE3eFlXK0Y3aG83SFMyYjkybHZMS0ZvSTRr?= =?utf-8?B?WmdhSjdxUDBDczVRQW1TYzVPMU5OVDU5a1JFOUR6Qi8zYUNpNkxOcmZFMUhh?= =?utf-8?B?Mlp3UmJYVEVOY2xIb2VCZTQ0bk1OeVlMTmNQTkMzUkxRSnh0OVBHZkxwQzZN?= =?utf-8?B?dGtCM1g1bXI3alN1VTNURzVlT2YxcVk3Qzh3MGNlUXMreHV3SHhWVzdia3g1?= =?utf-8?B?K3p0MHdVbnpHY25kSENmWGg1b3ZaeFhsQkNZUGNhdGVhVEwzWGIvYmxleGJl?= =?utf-8?Q?Z9PiYgDnNL0znZMA2wMnP7zTqPVATNKYwkzSXZQZypprl?= X-MS-Exchange-AntiSpam-MessageData-1: WYsiRStISHmqyw== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0590b2d7-641b-4218-ada3-08df39a7eb69 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB5892.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2026 12:42:28.6791 (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: gZIFwZPFLYqMA2n7n5cVlHAjjiUqoTjHgk/qgBiOOZ6najDZIvUil6PLXlasQ0cMnWjtMwRPdC4w7+RM26rZnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7992 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org On 11/2/26 19:09, Vladimir Riabchun wrote: > > 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. That is not equivalent I believe and my check is correct. Den _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel