From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AS8PR08MB6214.eurprd08.prod.outlook.com (2603:10a6:20b:29f::19) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:06:39 +0000 Received: from MI2PEPF00000B83.ITAP293.PROD.OUTLOOK.COM (2603:10a6:298:1::419) by AS8PR08MB6214.eurprd08.prod.outlook.com (2603:10a6:20b:29f::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:36 +0000 Received: from MI3PEPF00008481.eurprd02.prod.outlook.com (2603:10a6:298:1::68) by MI2PEPF00000B83.outlook.office365.com (2603:10a6:298:1::419) 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:36 +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 MI3PEPF00008481.mail.protection.outlook.com (10.167.240.168) 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:35 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::431 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::431;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x431.google.com;PTR:mail-wr1-x431.google.com;CAT:NONE;SFS:(13230040)(12012899012)(43022699015)(3072899012)(82310400026)(2092899012)(6059299003)(19002099009)(10067099003)(22082099003)(18002099003)(55112099003)(16102099003)(57112099003)(5063699009)(3023799007);DIR:INB; Received: from DB6PR07CU003.outbound.protection.outlook.com (mail-db6pr07cu00303.outbound.protection.outlook.com [40.93.64.91]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id ds5qumvrotg0dib5kbbevlmunddcc4fu92v2s401; Mon, 31 Aug 2026 14:06:32 +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.64.91 as permitted sender) client-ip=40.93.64.91; envelope-from=den@openvz.org; helo=DB6PR07CU003.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.64.91 as permitted sender) client-ip=40.93.64.91; envelope-from=den@openvz.org; helo=DB6PR07CU003.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFFVzV6bGV2WEhaYTdqd0grM1pqczkyc3FDQlNoSlFCSHpRVVF4ZmNubzVQam5pbVZOZHlWMzkyWXVjT25ORGNMcSs0UWtSaEFHMUgyb0hsNDEvdzJFcUpsRy82clNCQ2lYUm91dUsvZk9JYVcrRGI2bkI2WGxMeW53UDdack9jWDBXbTVERENpNndRbEkraTJxQ2x4UUoxRHBrbVNPZUZRSXVHQ1VXc095WFFLVGdoNHM3RkNSZytLWjVKeW1TKy9jZjZQR0l6Z2E2VWNWaHIrbnN4bDVUVm9WeDRmdGM3VUM0WlJnT3M2OUFJQ0lQMDFFUU41bUs1N01uR0lIaWhvVGNPc25seWVDZEp4ajUxaFpLYUxGdk1Td2ZvSFFCV21lVnhPR2QxdDFRSUE9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=gv8AOhDFsaX/Oe3hTW3WJm4SKMzNaQVM5JQMqzYb+UoX+O6yIrqNp2bwtxW8hMnFIDemn2fL7VJjnJgGIkQS1lJkTUtF5spOy6s1SjdTKoo17GmORh0vKE5d5y3LFuhyh6Natf3MNMLxG4c/Pts+nt0bFVjEIflfjbzX5Zbs4+s=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185192; v=1; bh=DqEQ6838UD8yoDsmHNzrb6XyNuZYboOrsQCbP8BLeEs=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from AS9PR06CA0317.eurprd06.prod.outlook.com (2603:10a6:20b:45b::27) by AMCPR08MB999841.eurprd08.prod.outlook.com (2603:10a6:20b:780::9) 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:27 +0000 Received: from AM3PEPF0000A79B.eurprd04.prod.outlook.com (2603:10a6:20b:45b:cafe::47) by AS9PR06CA0317.outlook.office365.com (2603:10a6:20b:45b::27) 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:27 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::431) 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::431 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::431; helo=mail-wr1-x431.google.com; pr=C Received: from mail-wr1-x431.google.com (2a00:1450:4864:20::431) by AM3PEPF0000A79B.mail.protection.outlook.com (2603:10a6:20f:fff4:0:6:0:a) 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:27 +0000 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-4843f205a5bso367340f8f.1 for ; Mon, 31 Aug 2026 07:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185187; x=1788789987; 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=MyI64h7nI6BUPq8X7ElgCf4EMdtkTClihUPQFzusTdRa88+eIVm1BHmHeQyylYUNr1 QFe9nDr+QdIq0U7pwQpzfGMiTesCvh2M4OdqsputYee8yZkkytpwlXF8Iblm9E9g63lj BEcdZvRz3VwzhthLyY8pdQLfdNBBJnzzVbf/eYE4zgq0rFsNDq/2yYaI3RnKGr9cUFnV oMb3xTq23pXxNWipZLUj+KEAGP66vN/rNF7oYlZGs+Qs9L1tsHSiSDqaV3trjgc75S9m fYiCdlfvaXEn2NLquwV4QLh1VJVRHTFkBwIHiJ5OU7S9PwIa994V5F3B5XnvFg29pa5G AFTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185187; x=1788789987; 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=WZ0KDeliB3659XbfzkQgYXBc0+XUwDq5dlaPXWR0gtI1LT/XfJgjDGf3v7ZvCZJlbp Zivk/zKgTYWEsMIWnX0m5yWvyDf7Xa3RocOWdbiuGmWn7kZxhTfOAqrYg9IUyapcGH+K u9peQyQOzJMX21zQWTLwyajyD6dx2YJHLv7ebpa3dGIOBL1gc4OKWtzZrvVlwQc2twJ9 SOoFfzRotcLxs9nSi49RpyK8KTuk33a8sUx0OYsSC/487zynTi7SArUeZx6Rd9mX3GDV 2HrJ7nIQRoeLNNmpGCGEKdCtM4fIYITNd5ifkgflhR2lARAiYJiNdj30l5jA5kfD+Wzb apAg== X-Gm-Message-State: AFuF++mExMAWVTgcIsY9Y3LKszRg9OHKK0xbxRgAMtAOKcaJzXj24Usc yUqr3+Ih1wYOGDFujNsT50bx2AMMepVgNO522szLzbW4Ee9K9iQF18WN064QSCxnyrx+QNSyfoz 41dIPD90= X-Gm-Gg: AYBFou1Ld8pwaa2XdL1s5J+17+oM9ZxQ/lDYP7EvS5mSY/PaoPFzs7VOHsByPuFg8EG a+bhwDh6aMwGTyy4w7KlLQfh1Mqid2yOGFTvu8GC2m2KMD5EO6Vfda3qRbPi+Lg+xWdMcVdlPxs 4Ar03ImrmXXgWeV2tJPPG6bHp3RcTAakNYU6Nr2zDwjne3wQ+uiEeJoKO2kLaClGM8//kzOefUG ZkaqPPbSqOw1TgNFiiXt/6ybBl8JdfzMbd28g1Wv4UULuku36d6bE1pIZiu+DHsWE/cLPTZT1tJ rgoB5V5TkEkCfe70WdDJowbj5rh3Y7G9p3iWW2PT52CYcstv2l4khwcWzSPAl7z4UduBKYJxzCV pvRmTOUjhSGAs/Zz9IW/rKSVCIq1M+amqtAVoxhgWGFSZ92iiD8hYiULf1umzjRjSLvbSE/vaOM 55xOmSiwSNLI2hLLydz0Qnps4njjwq8dYYjaWO6yrPff8Q/iFPGrsgztpP X-Received: by 2002:a05:6000:1a88:b0:481:51ce:542f with SMTP id ffacd0b85a97d-482f79e671bmr36953632f8f.21.1788185186825; Mon, 31 Aug 2026 07:06:26 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:3bc1:c53b:30b:203e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbb33070sm23644536f8f.36.2026.08.31.07.06.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:26 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 3/6] io/channel-websock: handle a blocked write during the handshake #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:17 +0200 Message-ID: <20260831140620.1204363-4-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831140620.1204363-1-den@openvz.org> References: <20260831140620.1204363-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: AM3PEPF0000A79B:EE_|AMCPR08MB999841:EE_|MI3PEPF00008481:EE_|AS8PR08MB6214:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: d56af0c9-e054-459f-6a42-08df076911a4 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|12012899012|43022699015|3072899012|82310400026|2092899012|6059299003|19002099009|10067099003|22082099003|18002099003|55112099003|16102099003|57112099003|5063699009|3023799007; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?SmVoMklBaHNYSzhXNmZLWmE0c3c3OTFrc24yUEU5THhjcHQ0MmFndnF1LzVD?= =?utf-8?B?WERKcHdoR0w5RnJrQmFkR3hLYU4vNDJab2ZhazVPamliUDBrNDZPRnVObUFV?= =?utf-8?B?Y1gwa3FnM05TRWo2RDVQUkpHY0gzSE40eWZiWXNhaEFmeG94cE9ld1lhcUJV?= =?utf-8?B?d1NtY2xwODg3Q2U0VElodDRLcXFkcnlMeHBLaVVRNGt4MXprZkt3WlNlSkFu?= =?utf-8?B?am9iU3hnOFZjRjhiK0lpd1RTTzd4aHZLejFYdklWRVZBWk5vQ2YwTDZMRnV2?= =?utf-8?B?bXh1WUJWM2UzaEdENkd5WDUxQUs2cVBkNDZ4NGNSeEhoT1VvQmZIVkJYY3NT?= =?utf-8?B?VlFYbjUvTFAzWW5zajJvQklqdXlWTlVGU0ZVSkY0cEZkQXd0ZFAvUWlSUng3?= =?utf-8?B?L0Q5MEdLckNFTHZ0TkFJM21jTkxtOWtCRXNqcnpjMmRkUlpZdHhJa0tQRFNB?= =?utf-8?B?ZGFPWmsvWVdXODhHdWR0bE5QU3EvVnFFbU5uL3VzQ1BxMjY2OTZNUFFzd3Rj?= =?utf-8?B?bG5wUDZUV0x0RDYyelVzeXl6aGxoWHRiemdORC9haVZVQ3dYWkQwb3FTYlVa?= =?utf-8?B?STlLSUJtTlJSMHg0QkEra2Evc3E2OGlwUWR2U1VrRWVwUk84Y3VlcUNtaXNL?= =?utf-8?B?OE9PNVU5NDg5YUdjVHJOR1hiak1VTWxVRlZINzV6aHNFY3JjNnBxRmJVeE5i?= =?utf-8?B?ZDJiaVNzemJnMG1IeE1vRCtJeko3QW9sT0lHeW12WDl0TVNlcDFyVUE2UXhx?= =?utf-8?B?Sk1LQS9SM3ptS041MVdGbkpGMjZLbk5UOXVuSEx2VGUwL1RVSTRLZEdLTEJB?= =?utf-8?B?Yjd5bHlVYnMvUUlzVzNnc2NDVno5ZXFMS1pObCtPdVIyNFl6RTVBdkJYNk9r?= =?utf-8?B?MjFvZWZ0dVpad3hFZUtubXgvWkpkZUZpWFRKZldPSytWS2NqTVVoMW9XdGNG?= =?utf-8?B?dFNKN2kwOWpoaUo5Y0hVSmFFT2R1eGRVU3hSZkpVelkwdHIwaXAza1JkYTdT?= =?utf-8?B?cEw2OUpBSnIvNXVuc2NoNms4ci92VThzb1ZDcUY1ZzA2blh5a1dkVC8rdXk1?= =?utf-8?B?YlJ4LzAxTWMxRWNmTDFpanY1SC9KbGNQVXBzSm1ZOHNZVTNXbTg2M3pFc2pq?= =?utf-8?B?SzZ2UXFVOGQ2VWNBZDVqSFd5L1dDemFRS2h1cFplV1Q4WTc5VnlKY3VQZk1D?= =?utf-8?B?S2FZbHlwQXlSNG1OTC90VVVOUHhmeXQ1NFJlcEpNb3prUllJcEZhWmdCT1lC?= =?utf-8?B?OXVwR3plOE9OUXU5WXJnL3VHU3hIUHBrdzIvSjJ3eDNubG9rVXhXQ2gxakJj?= =?utf-8?B?Z21DbnJKWWt4VnQwdjFPVkpwTWVHdlMrcTJ1MlZtSFE4clN3Zk90d0Y3aG12?= =?utf-8?B?Y0tEcnlCZVBUaXdCOFAzL3RVUXFwQzJIVzk5ZlhHWXZXR2RSNC80VGtZWENC?= =?utf-8?B?akNkNjZlTytOaHR2Ky9wT3I1UnR1ZE5NWTg4eUUxV0pKaTZvMm15Mm13UXZQ?= =?utf-8?B?UTBnc0hJOWxXZzYzNlQxbkdidzkzd09aV1o5SUY5SlE5M1p5THNDZElUbk1E?= =?utf-8?B?UUVrVkZGM2EzN0M5TnZjZThzeEtWdzlBdlNIU2VVYTR1R2NsU0VjMTBTRGlZ?= =?utf-8?B?S29Xa3Brak40TWtIU2tvWU53L3lhOStQVDJ6UE1jeXFicDgzWElhclFyV25H?= =?utf-8?B?Z0RwNnBkSGxFSWhjaDFhdlZvemcwNkZwd3RGNnA1cEcxbHlvbnplNEJHeWNM?= =?utf-8?B?b2hLa3NoT3JwYzNwU2NkOGR1NDNZdzl3YUd6YU5iTHM4TGI0ellaS0lMRnRR?= =?utf-8?B?T292cEUrRktrNDNTcDdhNWk1eDEzNzVwZ0VSQy9UMFIwS3dxNy9mS3hNWHBI?= =?utf-8?B?U0J2T0p2TS90YTNaVGNSd1FCa2x0SUR0dGtVRmcweE1BQ0x2Uk9XWnd1VW5C?= =?utf-8?B?a2N2Vkk3OXlweHB3RzVzMHhoVTgxWDNhYlFTdzNOSmp2M01hbTR5aGJza28w?= =?utf-8?B?V3ZxYVV2NTN6YklZNTlWNG42eHV5U2ZKS2NJaFdDZklKTHBUQU9zZDFSSDF3?= =?utf-8?B?UFFhMHpEVzdwUlQyRzZIc2cvMUJEUEVEZEFVOEl1RVY0UnVHV2hrUHdSWm93?= =?utf-8?B?MUYrR2x5YnFTU2I5dmtibEJYS2dzbnJ6L28ySlJXSmVBV3R1YThqSldESnc3?= =?utf-8?B?Kzk5RnVqQ2ozMGFTMDFqWGkxOHRNSnE5WUlsYUdSYnJ2a3ZUWG96K2hqV0lX?= =?utf-8?B?aW96VVFaTkhDOHB2Uno1cjgxdXNvaks0TFptUTF2cnpIaVBlL2lnRjJDQzYx?= =?utf-8?B?UGowSm84aHNrVC9mRHVaSnp2QUdkcXJQTjRvQkkxNjU2YXBnUElFbzdsNElH?= =?utf-8?B?YmtCWFdSTFVaV0k3RFZTQWJCWHY3TTM2Y1RDNExGaDRBVnpkYnpnTk9SNDhH?= =?utf-8?B?L29MVXJhdGx3NW5tM0JNZHgxR2ZHZTVlMS81ZERuU0NDL3dTSUxDOUVRdUwv?= =?utf-8?B?bk5aL0wxR09zcFUzL2xCaHZrc2s5WGRha1NpU0VBVXBUY3llazlVSEpJaHA4?= =?utf-8?B?T0lSKzQ0OHZiMHRrK0RTUzE5bjNoamNacHhvK3lTSmcwU1JnRG9DT2ZmbS82?= =?utf-8?B?Z1FoYXBSQVVQZ3pYamNMZUdQT2pGVFBKc2NBdmdvTmlEN2dOUFJhU1p1YTBT?= =?utf-8?B?VCtaOXlIYmcxQnRrTWZWTUlUWDhDSW9aUVFadVhSM2JhT0ZTdWs0Z0dsZmxX?= =?utf-8?B?aVdCWDVoRWx6ckhTSTh6SnF2R2pyWXV4TVQvSTVrUDBDQ0lMbDRMUmpOdWRR?= =?utf-8?B?MWcwRW5XcFFhamxlVHR5NkhROWhHR1NIZWhobkZpZVVxMjR1Q0wwVFNjTDIr?= =?utf-8?B?RFlkWkM0UDBYYTR6bjRNd2JGdz09?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::431;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x431.google.com;PTR:mail-wr1-x431.google.com;CAT:NONE;SFS:(13230040)(12012899012)(43022699015)(3072899012)(82310400026)(2092899012)(6059299003)(19002099009)(10067099003)(22082099003)(18002099003)(55112099003)(16102099003)(57112099003)(5063699009)(3023799007);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: gd+3FA/tK8AYiQfInoVaxbH9zJzRlgra92V3FRX86OrsVzg97Ttg/iWF8txcpBoCg/y8gwWvhaPXj1Oj4t91geg7JE81Zw2xlhoka+kBfStB152XRNjl9YSd72llK9FzHoS7DsYkRU+M4VvzRwQg2GsD2DAmTSiIhac6p3N/zN7khqUKMZL7LhwWwm1EuWP+AUmnfydJjwYvJPsxIZZnsSkd5vMSSVjfontGfc1pygJhp5yic9tMumf04n9hTHEhiu4dNdvtCgkGQk7p1RpQxMAFb1DatgosuEylj+IVbzr7FFKbZxSCdT24sdgLxEsS9Otms7YjjQVa9uuhmUYWLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMCPR08MB999841 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:35.8848 (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: d56af0c9-e054-459f-6a42-08df076911a4 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: MI3PEPF00008481.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: MI3PEPF00008481.eurprd02.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: bed18670-015f-46c6-0238-08df07690ca1 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|6059299003|12012899012|3072899012|35042699022|43022699015|2092899012|3023799007|5133699003|57112099003|55112099003|16102099003|22082099003|5063699009|18003699003|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)(12012899012)(3072899012)(35042699022)(43022699015)(2092899012)(3023799007)(5133699003)(57112099003)(55112099003)(16102099003)(22082099003)(5063699009)(18003699003)(19002099009)(10067099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:35.1355 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d56af0c9-e054-459f-6a42-08df076911a4 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: MI3PEPF00008481.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6214 X-MS-Exchange-Transport-EndToEndLatency: 00:00:03.9216194 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?d0czanBVejBiYzN2bkMzSHNwbk1xOTRiRWZnQUtIN2I5dUk2SU1PbTFNR094?= =?utf-8?B?TnJ1N2ZWSEN4OHNGQmRZWXloVEFDMktiNFRBT2tzdHpFQ1pnSXVkQ0c1TWVx?= =?utf-8?B?aXNYeDRWWFZWd1htR3VlTTRsa3prM3UxRmtNWkZiL3E5SUduT0xYdCs2Wi92?= =?utf-8?B?VEwrK3U2SWVHNHVIOTcxQzFvc3cvQW5pMGdVTWlsTUlBV0JPbFJHdFZKRkFu?= =?utf-8?B?NTlwZXhvU0R4aDlQOEllcU5CWXdEVXh3VEdJNm1yZHBwR0NRZWpCamV3SXpB?= =?utf-8?B?Qm5lS3RZaXMwTFFLSkFoUGFDS2REVWJyTTZRNSsvRGk1RXRzOVBybHRIQ1Js?= =?utf-8?B?dHZyTGREclF4dU9MUzN2NGsraDhtK3AxWDFXZ3dOeURkOGgzTEhqQUc4Wk5R?= =?utf-8?B?OFAyVWlKVjk1WVF4R3FGZWQxNnJYM1FvNk5XRW42UDhQY2d5M2NWbW90emZ0?= =?utf-8?B?QXRRckdsZFJ0b21na3R1aG9nbVA5SFliUUM3eGR2elY2YnJUSWlHUHFHOFpp?= =?utf-8?B?NFRHa2ROTmowbXdPbTIxVUNtRU5uZUlhWVNXa0x6MU9OaUIwK2FZTGszQWlP?= =?utf-8?B?RUtQYlhaVDRKdzd5c1BESW56clV2c0ZmMEhpWE5GVmFsUU9IaUswajBRMjIy?= =?utf-8?B?MjVNT0w4TE5hWU85RU9MMkdqVlpqWnB2VjlKSjVLVEY2Qk9ieGFzaWZWK2lo?= =?utf-8?B?ckJmZktUdkF5RE1tU2JhQlFvdkxDU1RsVHpRU3JHYkFxaXdLRnRCcTJLa1pE?= =?utf-8?B?THBIcjdmWUNkMHo5OFdUb1RKK1AzSzdwcHFuNFJESzNxTHlJWWMxRDRxZHRW?= =?utf-8?B?SVBmSzNNR1pCemNIMFZtL1VxNTBlc0o1bDZvSXN2YysxK0VHb0ovQ3did1Uz?= =?utf-8?B?YmczN0YreWtwV1N4RVlVUHpydXVFUEJxWk8wUGtxQVZrYlVReWVYTHlxb29O?= =?utf-8?B?WS9oY29WbTZLcDlMYTgyb0xQT0NOLzg5T1V6TWJEcnBUTUF5Q2o4Y3pPOCt3?= =?utf-8?B?TWRxVG5XWXlSNVF5RzJKK2pJRElCdE1sbDdUTURndXk4TW9zL0VObWNvZVRD?= =?utf-8?B?ZDluTWFqWmF4RTlvK1BBTlZRb1dLQXVLK3RZcXNjaWoyd25rMXlpZGMrOW5o?= =?utf-8?B?TXg4RXRqMTEvYk9nc2xuSHM1SEZUcmhTd3BoMStvUDQzMy9TSStqWUJLT0V2?= =?utf-8?B?SkJKUlBmVmhvdHBFbDVTZHBBQWQ4S1R2cVluOFpLOVFyU3VXK2NzbDhxb2JX?= =?utf-8?B?VWxsRWc4NGNOeHZRaTdMb3NxNS81czVhWnJrUkFwS1pqQUhuaDQ2VkZTRldj?= =?utf-8?B?aG9JUU1TYWExdWN3ODk4OWllZ3lVVGk1cG9aVjBCbDRPbmQrSXQwZlpuYW40?= =?utf-8?B?c0l2L3lBTFkvcm81OE9uaXlMYWlIQVgwUEtlUlB1eDU4WVgweXRNT3hidFNw?= =?utf-8?B?NjAyTUU1SnA1WWJlaWhwazFuWmttWVozcGc0NkE2YUZkd01YOFlaaFJoc1JF?= =?utf-8?B?TklQN0hkMDZVY0IrMXorQVBPM2Z3M0M2WGQxTDlzVUlBcXgxY2k3SVV3bXl3?= =?utf-8?B?WWRucUxuend4QmlUcUZJbW1Rb3NWRU1xS2hCSTI0dEJyNGdLVWRhU3hEVkhW?= =?utf-8?B?QVArMnVpcXlhYy81TXJ3VEZGTDMvaVhIUi9qQ09MSWVhMlUyQTY4d04zbm5L?= =?utf-8?B?N3l4QzFDd1RWQVRuMHZYSXVWU3hjTEVqMnRzMkFvY3lNQmpvc2lMR1owRVEx?= =?utf-8?B?dmV3aXQ1UzYwMTVQWmpscjJaNHRtY0Myc0E0NWUxcGVreEF1MDVnTEtOMVBi?= =?utf-8?B?UVBlMk15NGhEUnNaTmpxeDBWOGpDaEw4UkQ2MXBKN3BRT0tRa2txSVBaRUlj?= =?utf-8?B?M0RhcG9rZ3lDM1BZeEhBMlpYUGVkOURGS3hjTkVudTJnRDcvSkJlOXJ1VVpB?= =?utf-8?B?KzlhT3VuTzJtTVN0WENKWXFFYnN1T0dDeWxnSFdUdVdPUEZKbGp4a05UZ3Mz?= =?utf-8?B?Zk1WZ1VJekc5Qm5BQnlieWVzcnlsK3pYVDZDaGhPVVZ4aTF1UGtKRS9VU1Y5?= =?utf-8?B?WDVSbjQ0RzFTRGNpYUplaU9JREVnRWp4Wk5wRW5Eakd2QWp1VEowVWthK1F5?= =?utf-8?B?aWFsMnpPL0MvTkZ2RGgzcFo3ZUYrV3RqbEJHODBkNDlCRGRiTjVHNXFRZXZh?= =?utf-8?B?bERtRVIzMmJBZzR5Zlk2UllnZFdnRWI2MlpHUjJBclJldDBqYld4UUwyWGlZ?= =?utf-8?B?QWdIbUw1eFREMHMxQlovMXVtYzNsWnEzRlRBQ0IyaFl1aTF6aXJ0bjVSWU9P?= =?utf-8?B?YVFyc3ZjblVBdzg3c1lnOGhWZ3RrMGpvRm9BMmY4T1d6OVhTblBXKzMzaDNu?= =?utf-8?B?SlI4aXJuTVp2b1V6RGxWOGV6THMxd20wNFBpRHVoNzlnSkpEUGVRcVRBb1Y0?= =?utf-8?B?THlZcmo4MWc5amI2aEM0Q1c3ZnVQL2ZMUFNucWlZcXlCR2VON2RLUWtwM2p4?= =?utf-8?B?NWgvTURHajRPdzlVS0VKZ21HK09PRFpJZ1I4MzR0VHM3NXRsT0pNMXkzUVBj?= =?utf-8?B?QTNaZ2EzZjM1TXQ2VWNJemg3YXpRa1ZjSmVxYjdFb21WYTB6UXo5UmFLa1RP?= =?utf-8?B?QXM1NHdmQk9RVXlDdlpDTTg5ZmJ1NGs2VmlmVTFtWkVjQkN2Tm5ydjRIcFhW?= =?utf-8?B?U0NyeVVqVWtheGV6b0FyK2RXSnZpT0EyVk45R0JCaXdsMHUrZWs0dWlSQU5j?= =?utf-8?B?SEJKSk5oQ0hpOTl4SkFBS0xFOFhjVU90NnUwU1RvRjNXRVVWNVVmd3NwR2NS?= =?utf-8?B?emtxNldTbG9oQ29tQW9OZno2TUMzcE9xWlo5WkxOWnlDQmJFMWFNTEFFWFQy?= =?utf-8?B?VkZYRktTbjBrbjU0eEgwVitBYWcxR2VGQ3pBTGdzT2hxTHhkTEtadXoyUE5Y?= =?utf-8?B?NW1NNGw2S292clRYakdmYlM4blg4M3Z1cWJJNkhva1BIdk1aSmpzOHNRMTNC?= =?utf-8?B?OVlVS0NlL3dDWGdQZHBZbHcyK2VrdVo2N29URS9QbVBQdC82TnBtazlGbWxj?= =?utf-8?B?bmtFeXJUYVVIVVVXUUxoMGUzaUVUc21zazU1c0ptbm5zcU1qb3JqTTAzWThj?= =?utf-8?B?SlJtVzdtdVdad09qK0ZONVVTQmZLRGYrWHdSYTl3ZmtwVTNRSmI3eTUwcUox?= =?utf-8?B?WUlqTVpCU2VrTGt2TjFkRVhqU2hFMjh2YlRUeWowcG14STkzNDNXL1F2QUhs?= =?utf-8?B?dFRQaDhRa1M4WTRNYkQ1Ni9iYis4MllMcVpiUCthWjhoL0pBbmZRUHJoYVVk?= =?utf-8?B?WXVzcEJQMnFnT3FTcU5HcUpVVnBKNDArM21TUTRlVlF0KzlzMjgwZXN0Um50?= =?utf-8?B?c2wrcENLOU9LUGloek81cjR2SVBNWGNUWkRpbXgxT3BjdHRUTGw5WU1LTUZP?= =?utf-8?B?eVBTMWtIVDNLZnZTekNZY1JHWS9GM0ZmMDRzWUdUVHhya0F4akJZMXlLRTlB?= =?utf-8?B?VWxCdUVxMm5EVjdubkRGWnc9PQ==?= 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