From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DU0PR08MB9077.eurprd08.prod.outlook.com (2603:10a6:10:471::11) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:07:05 +0000 Received: from AM9P195CA0010.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::15) by DU0PR08MB9077.eurprd08.prod.outlook.com (2603:10a6:10:471::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.10; Mon, 31 Aug 2026 14:07:00 +0000 Received: from AMS1EPF0000004D.eurprd04.prod.outlook.com (2603:10a6:20b:21f:cafe::69) by AM9P195CA0010.outlook.office365.com (2603:10a6:20b:21f::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.13 via Frontend Transport; Mon, 31 Aug 2026 14:06:59 +0000 Authentication-Results: spf=softfail (sender IP is 99.81.216.78) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning openvz.org discourages use of 99.81.216.78 as permitted sender) Received: from nat.eu.perception-point.io (99.81.216.78) by AMS1EPF0000004D.mail.protection.outlook.com (10.167.16.138) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.8 via Frontend Transport; Mon, 31 Aug 2026 14:06:58 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::335 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::335;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x335.google.com;PTR:mail-wm1-x335.google.com;CAT:NONE;SFS:(13230040)(82310400026)(2092899012)(6059299003)(43022699015)(12012899012)(3072899012)(6133799003)(18002099003)(16102099003)(55112099003)(57112099003)(22082099003)(5063699009)(19002099009)(10067099003);DIR:INB; Received: from AM0PR07CU002.outbound.protection.outlook.com (mail-am0pr07cu00201.outbound.protection.outlook.com [40.93.65.65]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id 7kpp8anupbkd891gkl8kc6a0j5se8cutpo195b01; Mon, 31 Aug 2026 14:06:55 +0000 (UTC) X-SES-Spam-Verdict: PASS X-SES-Virus-Verdict: PASS Received-SPF: softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.65.65 as permitted sender) client-ip=40.93.65.65; envelope-from=den@openvz.org; helo=AM0PR07CU002.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.65.65 as permitted sender) client-ip=40.93.65.65; envelope-from=den@openvz.org; helo=AM0PR07CU002.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFFNEEweGJRQk1RcjVtZCtrNitIOVBCSk5PSXcvMlRJd0Y5VFlIYWx5eVFRRUVnNkRSbkRWZDYybjRWSUhWNDlDRmhjWlRpRjdhTkVYM0FrbzY1anY5eXQrRlNjTEtRbWVkL1RKQWFaSmovVzA1UnY1YlMzQU82LzEzZGFxeDRsYllWWjFVUmg4eVJYV0grQUkvNTAvZjNVYmNlSml0dFdMSzU0UTFRY21uMEd1a0dhR2VQMktBMk5heDJkbGJLQTc5TWk3d0xjbURpQXhoR0FCZzZudzRVV1BmTUNIVGdMeCttRHlVSTUxYnNTcjBSd1RyTlFKTFZUck1pSkN3NG5KMEpaVHJCQmtWYVpNeEVlOHBJdEl6Zm9adENkWFU1SVlJNVY4R2l4WXhGdHc9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=1Y0k4SkwBMp0oJXDjXOp2Iw55NjuBiczbukFEjn+bX1f6bA+B3UpgP0eqhWKpOVfaJAVwqeEav9yHO8sJiykDqEqcM9fEdarAjEjlYuaIAwfECiUbZeuiLiVhzo76hTLYLHoLr9xYXATQfq4MIJHEPzXwUEnLxIe/QoZliblAYA=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185216; v=1; bh=2e+Jd6Ih9QU7lf8CRlU/Z8VuBy3omZwrLnRrXThi9bM=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from DUZP191CA0070.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4fa::20) by PR3PR08MB5675.eurprd08.prod.outlook.com (2603:10a6:102:8a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.10; Mon, 31 Aug 2026 14:06:51 +0000 Received: from DU2PEPF00028D02.eurprd03.prod.outlook.com (2603:10a6:10:4fa:cafe::ae) by DUZP191CA0070.outlook.office365.com (2603:10a6:10:4fa::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.13 via Frontend Transport; Mon, 31 Aug 2026 14:06:50 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::335) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:20::335 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::335; helo=mail-wm1-x335.google.com; pr=C Received: from mail-wm1-x335.google.com (2a00:1450:4864:20::335) by DU2PEPF00028D02.mail.protection.outlook.com (2603:10a6:18:3::6ba) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.8 via Frontend Transport; Mon, 31 Aug 2026 14:06:50 +0000 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-49b8ce9b733so24118625e9.1 for ; Mon, 31 Aug 2026 07:06:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185210; x=1788790010; darn=virtuozzo.com; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Dc5z0cDrnH2HX8BeKs5p70T6OdhH75Ncb3fXsgzrAgk=; b=J+j5YVvbu5xyJORDejwun+zDDNUaKq0HuDvWae4YE6yoxl1Kv2eqm1+zswAHWmrwY5 Rrg4WQ5TZnCb3tYCHET2K/hEOx5O4YTf7/psD9pky7wKPRZOCfG2fwg2q809EOq3gTYM 4mQft1sKEVpMB5DG5B8JWDoZGm5n3kQZzp8UQaAq29j1p1L/HmFq+72XdajI1p1wXpIf Q9P4ZDqdc5sGSrDjyetYN0emRxMbFp7iTGYSF314EhYpN1HfuerbeeCnyMEyMoMw2AVR 17HH2iInuNyPrf7Shh5vn6LspJ75dc+ZzVKyl8zYKIYtOiPYJ0wchorRFKBOHf5UYJRl KW5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185210; x=1788790010; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Dc5z0cDrnH2HX8BeKs5p70T6OdhH75Ncb3fXsgzrAgk=; b=F/4ippwwvFFEsvoiaENSi/nV6guskiXTN7lyBFoaVqv7s4H+aztO9GecjDLcFVflDS X61UdPemdvChBMQv2w28rDU9LKuOKiihUrUZ5jAJyxme3oV2gnCyucv5XQX2w6lHRXqK pSw76qP3VjjPNr4vOpI2P+qpGC36tEY9UmNBVnPb5BAtSf8KcnA1d0j+djBXLMJGw50p XHq4ZZCYJnmyHfhRlZxpEvm+U1UtSab+DZWCCMZEBNiQheUu+N0rBOXGbWZ8ZUk+sVoP 2PBA0TgYesdj1LyfR5AUZMAB/WmwtJyHMwf99nyP7kOjrufL3x3NWlnijtRysSLOrAVT 1UmQ== X-Gm-Message-State: AFuF++m3FbUd/fOOUAiDqqEtP5fnSmg64ypVQIXuecFHcVmd21/WoUZB wspc/wjFJe5OmoLw3H37U9axgWnAq7F/NaEKyOzZMiTxxn/gIxFAr07KB3YcrpEmpjgJUH993m9 huPH8YWE= X-Gm-Gg: AR+sD12xGHf3+G3RJE6uN1L7IAOHtf/vsQlS3tNR/Mj4Yn7LW5NyafA07z5PudIY08L iyn2cU2qBtSVH0NNXXLbeFNkJO6DKImyNsOZ/5qHZc+g4nyMQyDdwsze5G7knLbJn8BNIHwkC2m pQZ+bMv7QtdfF8VLkDYzbq8ZX5uW2sR13jiK/u7fNOXeZlTR8pSSoQmzyGjhcvT4a+pK+eIV1sM F56iSWyvF6qkRsWgsHQxxBAPxRR0BF0sex06ikZNFReRe76SeRZadIKxqOwX5dJQ4S5WC9/B1Db 0/SV/HETwaWExziuSyYZgrWIqEkMmJaDbdUs4P5wakd42GxR+XEpJ1/gYdW57Bh5OyE/j59UWCV 7oqjJooz2MIHlRPjjMtpnySjg+4mOH9bg2lqqZpdMVXgjvnBmGvGycbaAsTjQtyhtWhvBvl1X2r NUcTaBCwKFea73962ggpZyGXib4h4IPJ500eikTnQagNUNlds6tdCG9pIu X-Received: by 2002:a05:600c:19c8:b0:49b:c8e:a211 with SMTP id 5b1f17b1804b1-49b91c20bfamr405610665e9.5.1788185210043; Mon, 31 Aug 2026 07:06:50 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:3bc1:c53b:30b:203e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cd2fa779esm133185495e9.2.2026.08.31.07.06.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:49 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.1 5/6] io/channel-websock: do not lose QIO_CHANNEL_ERR_BLOCK while reading #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:36 +0200 Message-ID: <20260831140637.1204714-6-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831140637.1204714-1-den@openvz.org> References: <20260831140637.1204714-1-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 1 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:1 X-MS-TrafficTypeDiagnostic: DU2PEPF00028D02:EE_|PR3PR08MB5675:EE_|AMS1EPF0000004D:EE_|DU0PR08MB9077:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: 81da635d-3c44-436a-aa26-08df07691f86 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA|SL X-PERCEPTION-POINT-CUSTOM: vzpp X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|82310400026|2092899012|6059299003|43022699015|12012899012|3072899012|6133799003|18002099003|16102099003|55112099003|57112099003|22082099003|5063699009|19002099009|10067099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?T2dBUFpiZCtGaTJQRlBUR2cvQ3Rldk4ydlN2b1VmOEZtUStid2hpdG54Yzkw?= =?utf-8?B?OUg1NkpQaU1FaDg1UWhjTVNNVFQ3RTN1enBaKzArNFdlUlN6dTJXRmgwbUY0?= =?utf-8?B?dkliU0xEV2grTFdYSm9SR1JURG80aC9UWGY1OVZCWnhheWtZcnI5cW1UcmxY?= =?utf-8?B?bDFjWkRucVF2ektaOUgyQ3A0SnBkUkdpeWY0SjlKMjZQR1pyVmdWRFg0NDhH?= =?utf-8?B?QjlGZHF6QllYbnpUOW1qR1FGY2VmUHFNajhFV0ZFNjdoNEVLeCtHbmp4WWJW?= =?utf-8?B?U2NSTFhwYi9JaWtOdk13bXBpMnVYaC8xeUUySFFpZDhXT0hkTVhqWm5hMnN0?= =?utf-8?B?R2R3VW1UQnJGaEVVVUJtNVpza2xUa25nM0VWcE5SR0tHdW9aakJ5bk1iQ2dW?= =?utf-8?B?YmwxTXpBRWVlZEE1aGxRYW8xQStPVzVLb3ErZEh5NDFBWlZIMlhEeUprVDlV?= =?utf-8?B?MW85TW1PRWNIY1JyVlV0WkpYK1ZZUnFPZytiN2llUkJEeC9HWm1LNzZVYjg1?= =?utf-8?B?S3dzUytyaFVpaWlhR1owUnVmNGpjQXd6TjFQQWhsVkNhWldBSnF1V0lnUXBp?= =?utf-8?B?eWxOY2QxM0JkOERTeExlQU5QVThGa3FUandUemwvem5wLzRid3FjVUxIVTNX?= =?utf-8?B?UnM5WHVsdmoxKzE2Mk9VTjdJMnpSRTFuVVFkczRLbG9ZYS9kSlUrbXJWcTFU?= =?utf-8?B?SlBBS090S2kxSk84NjVpYU1hUnVRSS8xaXhVTU1INUdVelVwWU01WUVRWTJu?= =?utf-8?B?dnA0eVR0VjJqNDl6N1Ywd0NVQTlpd3Blakh4NzY3VWlHUUxEUDdUcDNENlJD?= =?utf-8?B?NXkzaTU0NzVkRGJ6MmlvVWhFbWRuMEM3Q0NnYTdXS3VObnZWK05uamZ5cUFv?= =?utf-8?B?RTZhSkx5ZWJINTJmS3RmSnYyL3pEWGZzQnlVckpTYnhoZnRkaU4wRGlraCti?= =?utf-8?B?SDFMRWtUQ1FIR3NYanlEMkwyTUZ0ejhCZ1JlQTROZ3M0dngxanVTV2I1dnp5?= =?utf-8?B?ZGFyMktXQWdEOWhxR1BJMzRtU1g4bWxPTTNSdEVGNjFQbEM1d3dON3Y5L3h6?= =?utf-8?B?OTB5ekpkdzdvc1JpQ1lTa1RQbzhHdExCZXlMM00wK3I4c1ZZejFhZUJjMW4r?= =?utf-8?B?a2VlbVhRaUlXZkV3L2YxWFNWbmd5TmNaSldmY2JaOTBjWWNOZG1yc1JXczhy?= =?utf-8?B?ZGRzYk9CWW5TbEdRQXRJQWU3S0d6ekl0NDBxRFZIdWFCYnNJM1MwaUUzU2lN?= =?utf-8?B?MFl2bVlnNG5obVZ3NVRnRjltZXJUVkxoU2NjY2VDelhNbmFQckNOMTRjTGRt?= =?utf-8?B?WUtUVlBqeWZTNkQwM3B5cGhEcXJLblpCeU9yT2xCcXU5QzU5ci80MXhKaGhI?= =?utf-8?B?MUVnUnJId2swa1NwQ2ROS1htTkN4bzAyamorN2tWV3U0a1FiMTQvbDRaRXhG?= =?utf-8?B?ZnRCN3Y5Ri85ZTNESGgvVGRtM3E5M0FkU1hxalpkV1pHd0twSnRsR21tTEw0?= =?utf-8?B?U2tEWVdjOTNENFVSOExIZ05HemY1TTV6UWFhZTBjYUg2WG1YV2p3eElycTdU?= =?utf-8?B?Qlp1dTByZ3hWTWVrVXh5QVp6VXRiQlpERUE1dWZrTldKOXY3TndBQW9hK3Iw?= =?utf-8?B?TjhxcWFaVU8xcng5blVBd0ZMRnhDL0RpalJuN3V2Y05KU3BoajlSM2JzWHFr?= =?utf-8?B?cmtLS291K1BoTmE3MTJPVWE4dy81NHlVeDFvMDFzTlB5NEYzMWFiSnJRcUJy?= =?utf-8?B?N2x4VGtqUkRnZmdvUEwrWXpTK1pmTTdlT2xlQUgzdkNWdmF0dDU4K0dTczlu?= =?utf-8?B?RVVvK2N6QlgzM095QjN1a21aWExDZWp0OEFIb09meDFFRFk1Y0hnUVk5L3Jo?= =?utf-8?B?eGFidlcrMVEvMzRDZVUrWGJLMldBTU9WelhIY3VXWG9WNnVsQVVtMFZVODN1?= =?utf-8?B?cmtLanQ4THc1M0ozd0NJbVJFRG1OQXVvVnhZQUVwdnZuYno4WmtyaFVvV3I3?= =?utf-8?B?R0tqNWlSeVNHUmtmb3c3ZkFjWm1NYzFOY3Jia3puNEd4M2NDb0ZwTm5XY0NJ?= =?utf-8?B?SDJFbFM1eTRCL2ExMWVoUjVRbStzZFIwM2VreEJ5dnRCQWtaK0k0TWZHN2NC?= =?utf-8?B?S3FTRitVTWxhbmMrVUVkSlRRTWtQUkI4M0tWbmtnZ2RsZS9tOHhCaFRvdDhS?= =?utf-8?B?T0t4dm11eVBtZVMzU0F6Q1hNcEZrTXZWKy85ajZqMm1vQXYxUVRycmcxMjc2?= =?utf-8?B?eGdzYmNKYmVSc1crT2VnR280eHl0SDJkV1I1Vk0rVG95NlBJUU9ualdEb05U?= =?utf-8?B?cURrQkxCZkhuQ3VwL0ZwTkgxUThseHUxaTZOQ05lYnAvb2FNYmJCODlxSmF4?= =?utf-8?B?S0M0ZkRDUFMrMDUxZllFd0laT2dlQTRZWFp4UUVEVTB3MUFGT2UzK1VXWGVS?= =?utf-8?B?MHJyU2ppZk8rdFk3VEhTV0tNRVZoRUViQ29keUE5KzM1QTFTV1NtanQxU2VS?= =?utf-8?B?SkwyWm5YaEFzL0QvczhUY2Z2c2JzWXN0SXcrN1g1SlE2ZlVUcW5tUnN1TGJO?= =?utf-8?B?TSs3alZCMTErS1ZuYmZLclBMVEQxVWpoQWpPUk9pczhDWW5lUWlnWjhuOFVF?= =?utf-8?B?REZaa3FCbzVndU9SdEZKeHR3YXJXcmlMMDVuWU45dDliNlA4Y3pNZjF1VEdG?= =?utf-8?B?ZDlhOTlWQTNoWjhpRFVrSHUrd1lNUkxvV05YSHZuMml0VEJLMVdjRnJaaXQx?= =?utf-8?B?VEdSaWhJMWFaeVJGRGVlVEZ1U2JhalFDVk5kRmNYaTNYN21peDZoWGd2azBm?= =?utf-8?B?MGVINU96SDV4TEYrYUNaTkdQV2QwYWk0NVliU0RiNVF1aVNkMjRWZUl4RlZr?= =?utf-8?B?ajU3ZXYvNkpPSmVUUWI3bGVhdkdNNi9HN1BZTEdqUTVsV3E2bS91SkMwZmJk?= =?utf-8?Q?ToaO9RGGVm96xC87?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::335;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x335.google.com;PTR:mail-wm1-x335.google.com;CAT:NONE;SFS:(13230040)(82310400026)(2092899012)(6059299003)(43022699015)(12012899012)(3072899012)(6133799003)(18002099003)(16102099003)(55112099003)(57112099003)(22082099003)(5063699009)(19002099009)(10067099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: INetbS6bbt+6fK4u+hjb8qrqhvSwrUhNqvfVJoq698AJSAnj//FZfd+Sc0fDiKPPAykYVxTW/O0qbdTA6iZA9ntU5mtHT5nANeoCCmPvhInqiv1N9HWZwz+z08ACROfbL/vUfV9cZUHSKYQGTuDDxVm5arWv5cTJ8jbvnIfj4SGVNFlITpAKdAk2FtSHX73YmFq+wKyJKEYNVILSRxi95D1m+KPdGEShdawm8niq/8m0O/q+f4ascIVebdh0/O93VIDBo7YU8y6PWQBvo0HxFutxB3A03glPFvQl6Rv1VAy9KuqEVpvtXQozrAp3RB63VgIwpWqdfAooSuY9BQUaFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5675 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:59.1779 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Exchange-Organization-Network-Message-Id: 81da635d-3c44-436a-aa26-08df07691f86 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF0000004D.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: AMS1EPF0000004D.eurprd04.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: ebf72e3e-6cc1-495d-9858-08df07691a87 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|3072899012|2092899012|6059299003|12012899012|35042699022|82310400026|43022699015|10067099003|5063699009|18003699003|19002099009|6133799003|5133699003|16102099003|22082099003|55112099003|57112099003; X-Forefront-Antispam-Report: CIP:99.81.216.78;CTRY:IE;LANG:en;SCL:-1;SRV:;IPV:CAL;SFV:SKN;H:nat.eu.perception-point.io;PTR:nat2.eu.perception-point.io;CAT:NONE;SFS:(13230040)(3072899012)(2092899012)(6059299003)(12012899012)(35042699022)(82310400026)(43022699015)(10067099003)(5063699009)(18003699003)(19002099009)(6133799003)(5133699003)(16102099003)(22082099003)(55112099003)(57112099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:58.5370 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81da635d-3c44-436a-aa26-08df07691f86 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: AMS1EPF0000004D.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9077 X-MS-Exchange-Transport-EndToEndLatency: 00:00:06.5835562 X-MS-Exchange-Processed-By-BccFoldering: 15.21.0382.004 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0;jmr:0;auth:0;dest:I;ENG:(910005)(944506478)(944626604)(920097)(930201)(20251009189)(140003); X-Microsoft-Antispam-Message-Info: =?utf-8?B?dHRHZnV2clJIVW41K3I2TXprSHVEQWpQNC9jdHE3TTNEbHNuT2RrT1ZUalVQ?= =?utf-8?B?U1d0T0FYQXNuMVlHSUpmVE5CV21RRHhLVGRsQVN0K1hRNGQ3ck9MQVNFMXls?= =?utf-8?B?bEs2UXRiSE5pNTZrb2MxbEZlNFpuVm15RXliOW40b2FUdnV0eU5MWEJWZUNK?= =?utf-8?B?Yk8zMmhoWFRZQnZiK3c2S3Qzc3IwMDVwSzNIcmxNVlFNcUVQU2ZsU0lkRUFi?= =?utf-8?B?QzVwS1lJNlFaWkFpQ1hhUER3TWlNL0k0ZXRqOXZPZDNqckxHT3BrNk9wTTVk?= =?utf-8?B?aHpsdGx1SVpleWZvYmVOWVRqenB5V3dpaHZBVXVIaUxVNE1YYzZwc25PWkt1?= =?utf-8?B?eWYwUTFhSEZHNlJ6NGowaW5YeGZFa2F5NHREZStPaEJQY1oyNHJYWUMwVmFR?= =?utf-8?B?WWVSVXNyV1VINmVCVkk1aVFVaHRKeEUyRHRIdVQyUFJHSTFNbjNZOXd6TVVv?= =?utf-8?B?TTdBTGdQOUZvMjAzV1FObldkNHU4M0s5VldRejl2dHdvTlh6VEl6MDdvWE9x?= =?utf-8?B?YlU0eTN3dkV4K1RZOG43SWZaQVI5M0M2d3FkUEZvQlZtTFFUYVRPNVZOcWtx?= =?utf-8?B?T1pMRll0dnJDMHZnRlhqODFsSFlGdU1OcXZrb1RlWkhPSmo1WG0wOGFDQ2Rk?= =?utf-8?B?eW9vUjVKK1JINllSdmhoV0FXVDhJVWMxYmxOVUlFbzVyWFVvNWFqMy92RWdS?= =?utf-8?B?RjhZbHZPbGRpcFF3T3NVMjBaTkdPVVhiaVRheWdpM29Fd2V1VGs3YThqQWdz?= =?utf-8?B?dEh2MWhpM1JqMEh6M0U2b2NNY2FVVGszYmZURVFwQ0h5cVY3NWJqTXpVckNn?= =?utf-8?B?SUFlbEVwYlZ0eURTbVZWZi9ydTVBNWhXdXkrdUFZMVFUYkxwZlpCUUQ5dWtS?= =?utf-8?B?NnI3TkhaVmllUThnZHZreVRVRXEzTVJhcG5uVmpCa0JlenBiVWlSN2xzVTF5?= =?utf-8?B?b3F2cms3aTNYTFo0cDNyU1BSamlZSWE5b05pWUN4Q1FjaHc0ekNlR1JjS0tD?= =?utf-8?B?SVdHcmlSeUFzTWM0RUkrWXF4WTExUGl5bThFUStEYVdPVHFhM0Y1eXpMYXJD?= =?utf-8?B?RXhGdkFFcjJzRnJia0ZZaHYwcHFlTWgvb1ptOFFCODB3QzlRNjJVdjNJb0o3?= =?utf-8?B?ajhyT1JDWnVOZ3ZDN0FJa21rcTFRM2xDS2hzL1BRZFJ3NmFOeTRwZXlBMVd5?= =?utf-8?B?c2FxRi85dUJiOUFDTzdWQ2svOU9Xd1pkcTE5VTh6a1VQWktZeTZseUJXMW1n?= =?utf-8?B?N3dzT29LN1ZGdnlacnZnd256T2k0MEY1d1ZHWXQ3N2tJdkNhVEM5emFRcWdV?= =?utf-8?B?b2tVN3ltTGtzMlhHY0lBak9BemtFUHFVQjZjVTk0WWNVMFJqZUU4OUUzYXc5?= =?utf-8?B?TUFMZVczNTdQN2hobmwzZGxCdE9Dbk9XY3N6WmxjdlliMFFaSHZqWUw3WFlL?= =?utf-8?B?QVRLWmlFNUIvdW5UWUUrVEJEZnd4dVdCRURRMTJVdHpqdVFnbmVaclJQT0w4?= =?utf-8?B?UHh2blZsZjA5KzVxbUdhMDY4Ym50UkpwaVlIMkV3MVV0S2VFclI4VkxocWJm?= =?utf-8?B?MXJ6elNkSkdRNGx3ampWeVJEQ1N5U3pNZkQ2c1JyUlE2SnFDZFVLVmdTMEFo?= =?utf-8?B?eCtRYmlBd1JFRW1tM21BMFVVMHpvTCtOMnNMK3FxZG5YUUVNMTFiOXVaSlgr?= =?utf-8?B?R0xGWTFCM2w4QnZ0RTc1WmNvR1RvaExJSFRvNm5tc1cxRTl4Unl2dzhxRU9R?= =?utf-8?B?RjM2eU50VGx0U0R6bGFRR2dhTStsMmJpRFZkcUJKNGhCaEhkd25QOG9ZZTR2?= =?utf-8?B?d3pVWTJ2L1NPYzQ2MGxtZkN0MElmem9PbWxIL3JqcVF3SkJkS2lOT1pSODI0?= =?utf-8?B?VFovUlBUdGY2K0dhclZZZ0l6ZG8wTThSVmlFNVVCZFRKSWM1eFVvYVh4UzNm?= =?utf-8?B?MzZVRnhhTHFvajB5WFJJSG53elpXU1crVTlSdUplNXY1KzRGdkcyR084OGdZ?= =?utf-8?B?OHBSeWZUWVFvOVBzcmJzTmpvOFk3Y2ZtN0xNQTN5SWU3akJjLythenVIMHQx?= =?utf-8?B?MnBpRUUwU1djTkYxb01ZeklPelZ5STVieS9IRC9jdWdnczFEOFJBcE9NNXov?= =?utf-8?B?YXJ4OVpDaEM0YjBMdDExcVcxNUJoOEUwTFNiMzdpNUpiT0FPRW8ycGJSZ3Zr?= =?utf-8?B?RHdkZy9WT1RydldXcTZJcHB4MGhaZDBIVzBoRkI1aUJWZkdUR1RPc0MrbnBq?= =?utf-8?B?TXVmeXhXaEtHMHE5TWZablJjNDRYZCtsTzV1YzNQU1JKRFNGWDZwaHhLVEYz?= =?utf-8?B?NEV2RHBYdXFLRnFCR2hxR1RnVGV2enhwV003cmpOQ0h2ZUx6VG8xazhQNndk?= =?utf-8?B?WTZVRFZ0RDZiMHFDdmNNcnVDNi8xQUFzWS9pVnR2OXdaS1N5Mm5ORUhidjlJ?= =?utf-8?B?SVpodHQvaXBEK2VCYnYrMzhSdnk2SDUvQVI2STVGcGpGZXExTnJKVHZDT0tP?= =?utf-8?B?ZnlkV2RhUExuTlhCQjBOVWEwNTZwME8zT2pHT3o4U0lXVUcvMlVpVlVFd1BC?= =?utf-8?B?MGRNRTFOREJYRzZaU1FvbWdIZ2VKZGh1OExHblNHMTNVVkpUODB6QzgwQjZq?= =?utf-8?B?YjJjNzJreFYyM2ljMUxERWRueFBxTEZOTnFzRXFIYlV0NWxwa0RsdU9CR2VV?= =?utf-8?B?ZkRnRHM5WGxHcWV5ZklDMlQ2UVprZkpIbzNFbWczK2V6OFJKVHJ2MW1qS3or?= =?utf-8?B?OGp2RjYzYWZSWVNRVU5aL3RlcHZqNkdiT0FmMjY5NzVZcDZjQnBkTnRrcEda?= =?utf-8?B?RXNOb05RUVNORTFMZHVsWTYvbzBhU3NFNVlGaEIrVVh5NXB2cnRGa250M3ZW?= =?utf-8?B?M3JZZGtNOFUvUFhIRCtNUGpUL2Y5bCsyR2tIZStidHR2OU9PbHpUNUhneVlz?= =?utf-8?B?UzRJaXJEUnBIdVN4ZVgxdHd0Y0lwL0lNY2VMTm9Ca25DUk1LNENKbHF5WHRS?= =?utf-8?B?STVzWm1oRkR6R0pJdWFpK3NteENJV0RSUFJPR1RRZFhNQkpTVmpXcFVub1Qy?= =?utf-8?B?aDJhS3lINGJaM2tpM2hVd1dKb3d4czVlb3ozS0hoSW1QRVpLMmFualM0MVpN?= =?utf-8?B?VXVGbWJ2cE81a3pPQ1Z6SUJXT3lGL1ByMGk5U3dDcG1MRXE2a0xYc1VISnMv?= =?utf-8?B?aWpQaHd5RXEwa3lvWFQ1RUpEZ3gydXFvbU5ZbEY1MG5XNkVrZW9meFVQcEd0?= =?utf-8?B?bFArVWw1K1VIcDJ1VG80QWJjVCtxYXg0TWd5ZUthSWxta0pSc3M4T2NRWnVD?= =?utf-8?B?eGY2aXVXRnZ4cW1yMW43eWNxVk1mUlN2UFdYK3BmMytEb1VaV1VzSzdWYUtR?= =?utf-8?B?SDNKKzYxTVhaVlFmNm16YnY4OGpsRWYxL3dQYjM3eFpqb0NCMmNiUFZBTHZj?= =?utf-8?B?Z0hKZ3dTdEpMWTBUQzRjaEtCWUVOY2dDMHZ5S3Y2eFdWclcvZ241L3NvR0JQ?= =?utf-8?Q?mA4Hm5X/9XAqRuPtXg7T3/xKk2wDSRDQIjqRjk=3D?= MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: QEMU List-Id: From: Denis V. Lunev qio_channel_websock_handshake_read() folds every negative return from qio_channel_read() into -1. QIO_CHANNEL_ERR_BLOCK leaves errp unset, so qio_channel_websock_handshake_io() then hands a NULL Error to error_get_pretty() and QEMU dies. The master channel is non-blocking and, for a wss:// client, is a TLS channel. A G_IO_IN wakeup carrying only part of a TLS record makes gnutls report EAGAIN, which is all it takes to reach this before the client has authenticated. ERR_BLOCK here means the headers are not complete yet, which is what a 0 return already tells the caller. Report it that way and keep waiting. The watch is level triggered, so an incomplete record sitting in the socket spins the main loop until the rest of it arrives. That is bounded by the round trip and is what every reader layered over TLS already does. Fixes: 2d1d0e70cf3e ("io: add QIOChannelWebsock class") Cc: qemu-stable@nongnu.org Cc: Daniel P. Berrangé Message-ID: <20260831100151.914178-6-den@openvz.org> Reviewed-by: Marc-André Lureau Signed-off-by: Denis V. Lunev --- io/channel-websock.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/io/channel-websock.c b/io/channel-websock.c index 9c4da02ebff..e3351122a3a 100644 --- a/io/channel-websock.c +++ b/io/channel-websock.c @@ -492,6 +492,9 @@ static int qio_channel_websock_handshake_read(QIOChannelWebsock *ioc, buffer_reserve(&ioc->encinput, want); ret = qio_channel_read(ioc->master, (char *)buffer_end(&ioc->encinput), want, errp); + if (ret == QIO_CHANNEL_ERR_BLOCK) { + return 0; + } if (ret < 0) { return -1; } -- 2.53.0