From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from PA4PR08MB6254.eurprd08.prod.outlook.com (2603:10a6:102:f3::11) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:07:01 +0000 Received: from PA7P264CA0057.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:34a::12) by PA4PR08MB6254.eurprd08.prod.outlook.com (2603:10a6:102:f3::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:06:57 +0000 Received: from MI3PEPF00008482.eurprd02.prod.outlook.com (2603:10a6:102:34a:cafe::7) by PA7P264CA0057.outlook.office365.com (2603:10a6:102:34a::12) 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:57 +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 MI3PEPF00008482.mail.protection.outlook.com (10.167.240.169) 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:56 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::32e X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::32e;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x32e.google.com;PTR:mail-wm1-x32e.google.com;CAT:NONE;SFS:(13230040)(3072899012)(12012899012)(2092899012)(6059299003)(43022699015)(82310400026)(19002099009)(3023799007)(16102099003)(10067099003)(5063699009)(55112099003)(18002099003)(22082099003)(57112099003);DIR:INB; Received: from GV1PR07CU001.outbound.protection.outlook.com (mail-gv1pr07cu00103.outbound.protection.outlook.com [40.93.214.99]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id 5hhvujh8bugbab2mdl28ick5b2sibsgtuc195b01; Mon, 31 Aug 2026 14:06:54 +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.214.99 as permitted sender) client-ip=40.93.214.99; envelope-from=den@openvz.org; helo=GV1PR07CU001.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.214.99 as permitted sender) client-ip=40.93.214.99; envelope-from=den@openvz.org; helo=GV1PR07CU001.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFHcUM0U3ozdHIxNXZ3SVVhdjJRUHhTZU81WksrM0t1OWFDbnk1TnRWUU1aNVJ6YkUwdzJnclZnQzJYZDZDUEpSSG5nNDVld0RnVVNBdUV5YnpCVHJYRUxXLzRhSVJwOWlSbE1rYU9xZTlDNk5aeXQ3UXQ0dW1uZjJYSit2T1B2cDlQcnlYNHFWek9CNzdIb2FtWUkrczhSVzlERmlhTkFzUi9VK1FaOE1Ib1c2NUFhclUvSHFMcEtCUW4zY1ZuWkZ1WHFTSWtESXhVSkxLdS9xU21nUE5YWU5qQ093eGRNMHUxcEpTMVpHOTd4YXRrWXh0SDBUUFpCWlJSZXdUWUNNRGEzZldUaUZ3Qk9LcW1NT2NUOHF6TXk1UjNQeHRNN0RUN1BqcHlXbDhHR3c9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=Qv9r4+NmIylorYlVZba57O+Z3DloCStAaUSOrafnFJWBucQ6UqQ6WmnbYUkq1+ngWU6YoFhJ/sUe63JCPhW6fSXMia5n/LNqkmhHXFGu3L+VDlekuIk9wMbutMYi3tVAv79nWpRAj6jiTRKOXIh+CULSDPyO5j2LOG3JPscpkKk=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185214; v=1; bh=DqEQ6838UD8yoDsmHNzrb6XyNuZYboOrsQCbP8BLeEs=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from AS4PR10CA0025.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5d8::14) by AS8PR08MB8609.eurprd08.prod.outlook.com (2603:10a6:20b:565::12) 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:49 +0000 Received: from AMS1EPF00000099.eurprd02.prod.outlook.com (2603:10a6:20b:5d8:cafe::a3) by AS4PR10CA0025.outlook.office365.com (2603:10a6:20b:5d8::14) 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:47 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::32e) 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::32e as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::32e; helo=mail-wm1-x32e.google.com; pr=C Received: from mail-wm1-x32e.google.com (2a00:1450:4864:20::32e) by AMS1EPF00000099.mail.protection.outlook.com (2603:10a6:20f:fff8::206) 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:47 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4998b5a63e2so33660055e9.1 for ; Mon, 31 Aug 2026 07:06:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185206; x=1788790006; 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=A094Egti5DTsrr4qC5qcZ6HGpQZvhLecLRw/HeboZRY=; b=UvyIKmSTnuprN6xOYkIGgEDoSW4CMLLwIe9olO1udgw9nUrF7tIc7HLMaGzGFcM4Yb pTNSEHxmhK6zyb3A2JcV2zgeFb7BRakKoNBCG26rbtUbxuK2U/C/5ltOYLs9e70Awbqw AfmH1Zzdxp9cXmAF39PgCCrjaX4b/JnoiFz97G/IiuRJz+xtk+qsZ8G4fv8iXBfs2jt1 AqJdvcOI0vc/x1yCSf1fpjEqpKQ8SBB4Pl+hhVfSAcGrUXFnmdCblVboGvDaCQ1TeL2H owEZjPoU6ztAug7aWPdO3iAefmiMlnA0agnG9ld7wiM1UfvkHFLtuEpQdVtMIYSyYDuU Fr3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185206; x=1788790006; 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=A094Egti5DTsrr4qC5qcZ6HGpQZvhLecLRw/HeboZRY=; b=cB0zPRpbVavUeNjl1LttL7I5uTD3bWwnZqx2ObrzaSnF05ppLv1hNmpqHTX0Df+T2a SBDjk4EUdPw+PZUuvJ7bit/TTWw1Ows67YKxl1yIz17sC2ZgiStEiYuQSFL64HyShjvr qB1BgEXQjEgxdSD0VW3w3QPSFidwynjyYn1XUSGnRGiP3SVT3avAOyFLopASoiicHzOL GqVZNEPA6aRuO3c4p0d42ipkhr9gCi1zjprQQc2FhRegEY2CPG5yR3PAGFaBETJP0Fpc Qrb57w15n5ef7Xn4sjC4GqlrExa5FcyIaIVGSsrG2KGtD6m1LaqxcpPbsWZzwmsiWWJ8 BAXw== X-Gm-Message-State: AFuF++l+piJ7GbO9W2R8Z2uvGMM0UJOG1BAUMWCoZBDbhjWk5rj6Xb/a vg/+72kxiI62ShuSo3GrP5C9NPLJR7XJKGmA83wQCzJo8LXkqNComOm5G4rgQ7aoWw+rgL58AE2 iC/Gdxgo= X-Gm-Gg: AR+sD11amCF+gj0NJ8RSInuGo7uZZBoSOjmjTAG8OblBnHu9a4+kACY+2i14vXES1Hq dK7gm901KWF11qHWpU6uvGA3B732qxEORksnCg6W5MqYg1z0r2vJLcG8g/TmVFsAtekrGzgCYgE fBLZWhnfGMogtlKLnWpegHLfQj3QSD791KyoKnKHkO/pKPphXNTKsr964Umkh89cYuq82YqQZ+h Z3Ys1DLpY78CkHyzPepUPGp3jzHQ7GZlmw6wmfxCU6sVjKCG2AuJx88iSafEj7BHw97ekZPPXxj PVuIK2ezYRNzHHSR1tLEPjGApoFVSMHrb0mBw7AQZPzKEWr+Y90TlveTudjKGKiBbJL1zDxf0KJ 5O4fdeyUML3SQ3fIAjklRSzSrIW9j/AsUhI8pOiYmdLJ3BHkUSm77vmQipdHuph+NOg4RO4S+/p ellNrDevthtxxaK7Gp41sL8k9zrFp9Uc85+IxCFGcuPryYuwp7Tin2VuNrOJcS2+bYtPM= X-Received: by 2002:a05:600c:1d8c:b0:49b:916f:1471 with SMTP id 5b1f17b1804b1-49b91c1df21mr449644355e9.3.1788185206533; Mon, 31 Aug 2026 07:06:46 -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.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:45 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.1 3/6] io/channel-websock: handle a blocked write during the handshake #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:34 +0200 Message-ID: <20260831140637.1204714-4-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: AMS1EPF00000099:EE_|AS8PR08MB8609:EE_|MI3PEPF00008482:EE_|PA4PR08MB6254:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: 57173d7a-3d5c-41bf-0db5-08df07691e97 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|3072899012|12012899012|2092899012|6059299003|43022699015|82310400026|19002099009|3023799007|16102099003|10067099003|5063699009|55112099003|18002099003|22082099003|57112099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?VnA4a1lIdEdkMXZVOFpia3ltbFltMytCWHE2S3piRTl6K255QkxuMnk5SzFR?= =?utf-8?B?VkRCMVhiS3NYdGhtdGUzb1JaWUhNeHUxczJEay8zZmpGVDdmOXFNNG9XMG9P?= =?utf-8?B?R3NDSEJvM1VTejdzYzVRNTIwajhITWNDOVhUSUNMR2tZcEYxTzd3UEFyRHRB?= =?utf-8?B?RTVjc1VDR2hLT2FWc1NhQnJ0d2RnTWxNcTZsaVFXVnFGY0FTVU9hbXlTNnRQ?= =?utf-8?B?MlgzMmwxZzErTnZvcHRQR1NiYUlzLy8xZlYrQnBBdXZqNHNsVUx0RFRyWTRY?= =?utf-8?B?VnNDSVF5L1QwcHlZSldwc05RemJUa3pLRDJSdmJyQkd2T1c0Yk16disvbmYx?= =?utf-8?B?ZTNEK29pR2s0MVhCQ3FaQm1zdkh2NCsvU0g5NnZIWklhYlBJVFpYT3ZVRGd4?= =?utf-8?B?VkR2cERFOTB4SXBUc2YyTUJFeXhFcUtPd05Ta29VZDhSNDR3U0FnVWoxbXhN?= =?utf-8?B?dzhla0d3ZC9PWDFZUnh0S05EdmRha3FTZUVqenFPc2pGbllTSGtxUFM0QWsw?= =?utf-8?B?V0o0aXlpdjFVMTV5TDRXcG15ZDNXb1QzOWthK3BKbHJZQ1JyU2FnY1dYOFFG?= =?utf-8?B?WHBWbWE3TGNtZTBCSW54YzV4ZHdvNzBKSEs5bjBnMTRpUEJMMW4vcjBUbTVL?= =?utf-8?B?TTJUdmlMbVVXS2ZBcWdoKy83UUxEK1RkbEJJbEYxRkp2cTVLWkpwMExHTnJv?= =?utf-8?B?d0x3d3VYUjhpb1FHQ2pUUGVQTzhUdzViSXhnQStsclgzU2NFbVNhczBlOFAw?= =?utf-8?B?c2Jkd08wQ2w5ZkZJZ3dwSis2d09QZ2FqMEFjTTNBK2FrNVlIdUtlelQxWU5D?= =?utf-8?B?dnhmR3JSRThrMGpuTDVVdDZETW8vZ0FDQmxZaUg1VUdDMHlRemwrc0p6Y2s2?= =?utf-8?B?ekJ0U21kc0hqQ2I4WExpaVFSUDZZZmpYWVFac0pQRmFnTm9pOHdJdzQ0VDV3?= =?utf-8?B?Z1p6Nmd4Q3RadXFJYk9DaTM1bDVnbzNXeUFSc3YvazUwUDBDOVdOK2lkb3Rq?= =?utf-8?B?OUhYWlUvWjNZV0loZlBxYkVWcVZZcWV0bWFsWElpZTBGU3d4L1RIVU9QWkd6?= =?utf-8?B?WWU3ZGIzcFN2TG9xNWdrb2xFQXNsY1l6YmZJWG8vaTNNOERRbjExVWZDRkpH?= =?utf-8?B?MHRSZXpmZEZyZjdCOGlUeWV1TDJyZXhuK21vU2E2OEI5ekpOOWo0MzFJSDkx?= =?utf-8?B?VVcwREJOa0xjdE9IZnUwR2d4QWRkS0xqQUhJRENWdTUyU3JUMm9tUzhjb2lv?= =?utf-8?B?Q3IvbDVEbE5seVo0T2lvc3VERG91SGc0Q2R6bWJUMjBXekRnWFRCdUt4S0Ix?= =?utf-8?B?bWpOcDFuaWFXWkwyU0Q0WUJqVlVpNmZDVXp4eklYMkxGa1hBaXlGaHlWaXVH?= =?utf-8?B?bEFzMVJzSWZpeUs0VFUvMUsvQ0NpcjJoSXZhMGc4STZsVXFWckh3UlFoZTJj?= =?utf-8?B?dTh5SERsZkV4TUx0WGZ1dVpLTmxndlZhQ2hna1V6Tk5EWUZsVG9oTWtxOExI?= =?utf-8?B?a2NibW1vQ296cGF5UHZybk55cHFDWjZYY2E0aVBqTzdHejUrV2tmZ0NyUXhV?= =?utf-8?B?dFRLU01LT3k2V1VCdXRrNU56cnNvNi9VNE16bmZKOE91Y1I4cFVrakx4dVlv?= =?utf-8?B?RWlpNDFRU1c2MWtqdTM4OHNFWUwrZnN4YUNHOFRLTHJzaFFhNEJzd1RWWVdy?= =?utf-8?B?aWtRdEJQalF3bGQ2V3NHTWY5YkwvenNxY2JsTkREb0JsYlJUMDVkc1lmK3B1?= =?utf-8?B?d0l4RVNyUk1zUXdJM0g0cDJhRy83WHhkTzh0U2gzZW1zTnVzOXlmRDZFdHRq?= =?utf-8?B?d2RxWmZGWnFpMURlUWF2Ky9aZTdGdG1OVFhHUVVpNTI4TzJDSUZJY0h2bTMy?= =?utf-8?B?dGFyazM2bG5DZExnL0JXaEJOYUtiNURoTDNLdDFTMkhZKzVYUVhTWXluRVRM?= =?utf-8?B?aDhndEdxZ2djRXU2ZG5RZnRTcmJXWitucWFVUE1TVzdCcXVhS29QamlUb2pT?= =?utf-8?B?a0c2MXdzQzRHUUVtTmpGVVNVcTkzZTd2SzdaOWgzUElrc0NOVURxRzYyOVZm?= =?utf-8?B?VnRoOVdCTjFzeFlVMVdIUFpHbjdmTHFiZE9KUVNOUkRGc1FlWUVINk5OT1hP?= =?utf-8?B?VU43bGUraXhkdE90T2dPbjZvUk9OVDRnaUxwek1PVTB0NHdZbGpvdEVXRGJ5?= =?utf-8?B?SE4ralAyenVBTWtXMDNxS3lGWDZ6UmdzOU05QWZ3Q1NOaUVoMXFhaWxubkpp?= =?utf-8?B?RG1IR1IwZHRWQTdkczExZU1xWW9ZeGhQQzRGWW5hVU5uVVMvSkVNVUhuVW9B?= =?utf-8?B?UXFNM1cwRGNsc1c1SThvL0JVbHdtaWdOSWV6eWFiSzV1YUtwczBKR0RpZWxx?= =?utf-8?B?RWJ1Q09hcmNaMkZkaktzdEc3YmZGaCsrMDJrU2JZcVVPL1dOeWM2WEdIM2Fh?= =?utf-8?B?MkpxeUdHNEV0QlJZUFMrbnE5OFZOZjFTTU1ZckNWRXp2OXVYd3oxN0Nwelph?= =?utf-8?B?Vk1CQitreHo5NVB0eFIwS0ZyMGZMbGlETDJUTSthNnB2R1ZsMmVWb3V1eTA1?= =?utf-8?B?RzZYT3Z4bkNGN0x4dkg4UFJjRmVlUnpyT0lqNHBYUDg2THlNcnZkK3Nmc2Z3?= =?utf-8?B?aDdGejAvVVhMMmJnYythWWZnd3BKdHhKYmxPbFc5eGgwVFE1M1lHQS9JTFJP?= =?utf-8?B?dDNxSTF6RkhrUXJteG1QSGVtcXdrRHZSU3FHKzBNQmVWWjZLZVh0MUhPYTE3?= =?utf-8?B?aDAvT1ducTBZdDJhMVNSV2ZSV1RxbHprRXovRnF6MGk1bkp0Y0pYbk1Xei9D?= =?utf-8?B?a2wzMDhVWGVhemJUeGN6UTRJZXFkd3ZwUmdjSVJ5NzdaNFZEZ0NpUHNzUnF0?= =?utf-8?Q?6eGdFwIHkJw3+qbHbixwTDmHNnMTKTcaY3aMXuHo=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::32e;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x32e.google.com;PTR:mail-wm1-x32e.google.com;CAT:NONE;SFS:(13230040)(3072899012)(12012899012)(2092899012)(6059299003)(43022699015)(82310400026)(19002099009)(3023799007)(16102099003)(10067099003)(5063699009)(55112099003)(18002099003)(22082099003)(57112099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: Qzvi20wdyEf0laZOe7SNCBu3TKsbfilrfdAZ+lQ+0qh9qj7e9MGBPRU+8uaflkWbC/Tmw40QzLHidBU2ll6KRD30eMWvWn/nC2SSF4HUOwhpLFtHY0WipGc67KF+vxSNnvP3ehAbOz+SkzcgthbJBRAw9p+gFI1pMMwhfs7Z6xbIktwD5wloLaP/gmXofY8PJYyQJmgunmgmn3vbPYS/89s7vRk24pgC6SRRh6KOS3Qjikox9cBR7W5/Ud3+RmwRGlWBWpyfUP1Y8Dp9dZ4SWy48xvUxNzfFjy5Kz0cKikDpzBZCrsaNBMlOlseuPOyWAqlD2UikkwR0HPo9D4z6FQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8609 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:57.6076 (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: 57173d7a-3d5c-41bf-0db5-08df07691e97 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: MI3PEPF00008482.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: MI3PEPF00008482.eurprd02.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: 5cb91daf-2481-46b5-304f-08df0769185c X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|6059299003|35042699022|43022699015|12012899012|3072899012|2092899012|5133699003|57112099003|22082099003|55112099003|16102099003|5063699009|18003699003|3023799007|19002099009|10067099003; 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)(82310400026)(6059299003)(35042699022)(43022699015)(12012899012)(3072899012)(2092899012)(5133699003)(57112099003)(22082099003)(55112099003)(16102099003)(5063699009)(18003699003)(3023799007)(19002099009)(10067099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:56.8516 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57173d7a-3d5c-41bf-0db5-08df07691e97 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: MI3PEPF00008482.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6254 X-MS-Exchange-Transport-EndToEndLatency: 00:00:04.8202782 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?WE9XUWlGYkYrQVg5TDlSdklmbkVpOTBvSnFKZ2JUM1BMSkMxNDNYVkVCd0d4?= =?utf-8?B?WUtyM09GK2hzN2JTTkxyNkZPRkJJTzZ1NUJvZndNTys1TlZQTjZ5TzJQOGxu?= =?utf-8?B?TEVqdXhwWWdQNGdVRmhvWXNPV0N4YTl0Mmg3UkkrRjdRLzRXMGxKU09iSUMw?= =?utf-8?B?VThxODd0d29QczhaU1JCYWN3SXlHaE1FZFVyelVMKzNTaHBFRjZHNkR3RDRE?= =?utf-8?B?Um93WXVwL0c3SW9FWkUzMXRNRDlNY0FwNldrSFowYzhLV0g0SUVTTXpkdmor?= =?utf-8?B?TXBMcXdHbWx3YjAwNnVDdkxZTDBEZkNxYjcvQyttZGV0NXdJeEk4dkNobjRw?= =?utf-8?B?NzJ3UXRZT3V3NFMwU3FPTU5YRm5mOW9UejM3S0FIM0VtYm4yb3ZZdnNrUmZI?= =?utf-8?B?VG4ydGVDZitIQVQ2QkJieTYxeEtSR1BWZkFqQnFUS0E1bFZuV3NrNFQzNisr?= =?utf-8?B?ZnUvbUY4aWxqK2hJYW9jUTdMRnRwTTlJNWMyN3BVanNpRUZ5MGdTazY1VjRH?= =?utf-8?B?bjZ3bEZRSnlVTWxkV1Z6RzhCZXl5Wnk2aXdaekR2QXM1dWVkaVNuWkhuZkhv?= =?utf-8?B?WFdGcHZPSURVQnlzYTBqZitSZ3YxMExrRWJiSUtwajRIL29EZmRUOWlYM04x?= =?utf-8?B?YThXdFB2RHd5RVYvc01mcng0Z1lUclU5V1JXK0Vxa3hzczU5QmJFMllGOXJB?= =?utf-8?B?MTZhNDN1MTkrUXJWSEZNNGRIMFBDVmNUV1ZWeUo4akw1OFJmaWQwYlhOL3Ns?= =?utf-8?B?K21XeUxlNnlMR2FlcWwxVi9GREhHQ09BWGdKS2diWHhPQTFUZUNhVkFOcG85?= =?utf-8?B?dHVJR2hmRkNNWEVyQUZ4QmZWQzFwYmQ3aFB2a3J2ZFIwTjFHbHI1T05DOUE4?= =?utf-8?B?cE5Zb0VRdllpdEhYOHQrS3VvSEFINjQ2SGdjY0FYMHZKQ25uem84OVJueGtn?= =?utf-8?B?N1hFb1UwM2VQemdMdFRja1hROU11SFJTZnJMTDFaMjJYUENjdll6MHpJNkFO?= =?utf-8?B?ZWYzNnV2VVIzNGM2L2Y2ZmFPUUV5aXM0dFFIQ01YZlZuUURDZ3VXRUNMeUwr?= =?utf-8?B?OURMUEN0djRlRGpXdUxiL1Z3SmdHRnZlOWJlS3ppUC9BNDdvK2VQcHZPdGxn?= =?utf-8?B?enFTOHcxbHkvMDBxUHVURzRYK2ZsK0pucktSQlQ2aEdlQUNwdzRxWVBidVRN?= =?utf-8?B?cEllSlhjZzFodE41Q25pcFBiKzRPaWVENHVieE5sTnhKUHUzWTE1QStnd1hX?= =?utf-8?B?ZkVLM1VpQ1BMZDg5V3NpNkVCTFloeDcxVHV1MHVCVVdQUDRmQ3FhY2xWNWdk?= =?utf-8?B?VTlEVWY0d0lXUUJPVUZVWSt5bTJabHhRSk1qQ0JESWt6ZDJCdm5jUHI0dU1F?= =?utf-8?B?SmdCdlRobHNnaVRGZGhaSTZtUnpYdGdEK3NTZzh5K1p6TWhKSlVob0picWN1?= =?utf-8?B?cXhENWZ3WFFaUlNUVDkyZGN3ZGxQQjA3WlpJUHJyK0JiL0lVWFlmcDB5TzZt?= =?utf-8?B?MGVhSzNFckxTS05ZQ3hVRzF2WC93NndaaEhWaS80MEhQUWUxdE96NE81Mkx3?= =?utf-8?B?MytLcVBTS0VLc0lzRklkTWZFL0lpdE9LQVpHQVFkZGlIYXZXZ2IwQ25uZ3ZH?= =?utf-8?B?Vzl5cG05OXVGR1B4VlpXbVFnZlBVeFNEV1FyZkR5Ym5mSDFUR1ZlNGRSTmtE?= =?utf-8?B?QXlHaDAxcXJmajZ4aG56NGo1UUtHQmgyYWIxenpEenA2UFdOMDdFbGgwSXNo?= =?utf-8?B?R2U1emJFOFJwK3YyYWIzVm4yMUpZMG1ONFB1WGNZakp3Vnc0VEdqVHladFNT?= =?utf-8?B?d3BjWXhaMXVDRzJpMWZjUW1xdG1rQnlubklIV2Nxa09lZ3Z3bEgyZnQ1TVBr?= =?utf-8?B?OGRJUE9BajJNT0NyZ1JEbzUyN0IvQmszdTU4aXhxMnAxbnEvU2JqekhleUln?= =?utf-8?B?MlExTml2VFZ0TVlsT1FPTG1SNzBkK0VoMGp6K2NYNXJ0Skd1V1FnV0ZTVm9H?= =?utf-8?B?RjNsVEtORWtaSGhkZXYraU5ibm9Sa0NTOWtTaXdvNmZuMGpxNEczSE14UklR?= =?utf-8?B?MUpQOUc5YmVVd2grU2JQemk4Y2o5UlRod2ZkT28yNHhSbkVKSWsyUHRsYUI5?= =?utf-8?B?djF2ckxSaHJlaUdNTmtjM2tFMGQwMzhYUTJrSzZVUk80aFFlWDZPSzZ1dGUv?= =?utf-8?B?dzhOK0dNQVQrYVdOSk1XdHBQNGYyN0YrWDlqUkFCN29LTmJNK3VmdkxWYW1H?= =?utf-8?B?bk5PSXUzVyt1cFFxZk40TGJ6TEFHaGlZMEFwalUyR0tjenpmcWNFYXRrN2Ni?= =?utf-8?B?ckdnYzVlSThkRGJoUytPdnJQL3VjRHBNWFRqR0lGbjl1VG56ZWdQNU9YK1hl?= =?utf-8?B?clc1d2lGVHZ6cGZMeklFcVkwOUZGK1RSUUY3Q1MvdlQ0THM3U1l0WVJHbkxT?= =?utf-8?B?dkVPcC8yTUYwNDFyS3dLUy9yYS92ZnBhaE5uRVd1VHdOUTBCSmQwSUtqcGdr?= =?utf-8?B?U01JdkFDa2RjTm9ienREck0zUkJDRzBXTm1HeEVleTdLS0JOc2RRcGRxZTN3?= =?utf-8?B?UHFLQlk4RGthN1hSZEwwMGlmL3l3UmdRMjNVSnNWTUM2WFY4NDBtd0VqSkFF?= =?utf-8?B?TlB0eVlxOExZTGtXeC9XWWY5dWdML1JwOCtHMEg2UHZhYkFiWXY4eDJkeld0?= =?utf-8?B?cDUyS0ZuZGFCZ2NsMEFVRFUxUFRyWUFoWFlsTUE5eUJGaXVuSzFXcWtZck9h?= =?utf-8?B?ZGtoWEczYlpXNVZOODlNVEhQNlg2OXhHYWZQeFVHRVZJdVBjTk5VZFZlbktT?= =?utf-8?B?L1BVWmt0VnluU3N0MExSalVwY3E2c3Z1S0dyOW5wa3BVQXI2UWM0K256ZmJL?= =?utf-8?B?SXdHSGxYREt3NmZyczBrV3Z5ZDBrSENkSnBIYkJEVzJyU0pJc2hVdUo3TnFj?= =?utf-8?B?b0pjaGU5SUVjaEFxYzZBQXRkMkFFWmhCLzRmQUNER096TXQ5akpEWGNvbkty?= =?utf-8?B?blhhS2hIaFBESHFtc1l6c3RXNWhRL0lWTVpKeDJKMFhzbkh6dGs1Ry9NY2tB?= =?utf-8?B?dmZFSlk3blJMTXAvNVp5dDdnSjgrL2toWlREbU1yZ0dxc2VHMm1aaFA5SmpP?= =?utf-8?B?NzFYNjV0Y1Z4UWcvendkVnBsWE5vRmVRNHpMTkJmbU1mTmVhUWxNSjRTVWJY?= =?utf-8?B?L24vdnBUK3JrRTNUNXFUYi9MOXp6UW8rWmVzTFJLQXZZelFsUVExRVptWDg1?= =?utf-8?B?M053UTV1VDRWSktRUUNLTVJwRlpLSERkODFabkJrWHJjUmZITUorNjhzaDB5?= =?utf-8?B?anJaT3IxdUdtVHQrQldqL25FY2tWYVdiandNRHQwSm83OGNGdnJaWWR2VURJ?= =?utf-8?B?TEtDM3YzVzlCVDN3bkZkcUNtcWhtMllDQlRKQ2RWM1IxVTh4SjZFa0JVcUxZ?= =?utf-8?B?d2NXZXBkRW4vamZ3NktZYk4wUUd2YWZEWnVaUTA0TTBHaUZWb004N2ZXalJK?= =?utf-8?B?Nzc0UlhncFFER1RaSjZYQ3c9PQ==?= MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: QEMU List-Id: From: Denis V. Lunev qio_channel_websock_handshake_send() treats every negative return from qio_channel_write() as fatal and passes err to error_get_pretty(). QIO_CHANNEL_ERR_BLOCK is negative but leaves err NULL, so a socket which cannot take the response immediately crashes QEMU before the client has authenticated. Keep the G_IO_OUT watch armed and retry instead. Fixes: 2d1d0e70cf3e ("io: add QIOChannelWebsock class") Cc: qemu-stable@nongnu.org Cc: Daniel P. Berrangé Message-ID: <20260831100151.914178-4-den@openvz.org> Reviewed-by: Marc-André Lureau Signed-off-by: Denis V. Lunev --- io/channel-websock.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/io/channel-websock.c b/io/channel-websock.c index 806f7ea4935..9c4da02ebff 100644 --- a/io/channel-websock.c +++ b/io/channel-websock.c @@ -541,6 +541,11 @@ static gboolean qio_channel_websock_handshake_send(QIOChannel *ioc, wioc->encoutput.offset, &err); + if (ret == QIO_CHANNEL_ERR_BLOCK) { + /* Socket buffer is full, the G_IO_OUT watch stays armed */ + return TRUE; + } + if (ret < 0) { trace_qio_channel_websock_handshake_fail(ioc, error_get_pretty(err)); qio_task_set_error(task, err); -- 2.53.0