From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DB5PR08MB10116.eurprd08.prod.outlook.com (2603:10a6:10:4a1::13) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:06:45 +0000 Received: from AS4PR10CA0002.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::19) by DB5PR08MB10116.eurprd08.prod.outlook.com (2603:10a6:10:4a1::13) 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:41 +0000 Received: from AM4PEPF00027A65.eurprd04.prod.outlook.com (2603:10a6:20b:5dc:cafe::7a) by AS4PR10CA0002.outlook.office365.com (2603:10a6:20b:5dc::19) 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:40 +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 AM4PEPF00027A65.mail.protection.outlook.com (10.167.16.86) 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:39 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::42b X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::42b;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x42b.google.com;PTR:mail-wr1-x42b.google.com;CAT:NONE;SFS:(13230040)(6059299003)(43022699015)(12012899012)(82310400026)(2092899012)(3072899012)(16102099003)(57112099003)(55112099003)(18002099003)(22082099003)(5063699009)(19002099009)(10067099003)(6133799003);DIR:INB; Received: from DB6PR07CU003.outbound.protection.outlook.com (mail-db6pr07cu00301.outbound.protection.outlook.com [40.93.64.89]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id mkvmppkph0vuuu8h95nem0rn8eh3tq86lvhn6j81; Mon, 31 Aug 2026 14:06:36 +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.89 as permitted sender) client-ip=40.93.64.89; 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.89 as permitted sender) client-ip=40.93.64.89; 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: AEFBQUFBQUFBQUFIdVVZSm82TnczdXhXc0tuRzR0dHQza1R2OGthVFA3SnVvTEtLamJXc0RMVzdYdUVaNUQzSHc4dXRYVnlpTW50RkhVNUtvNmthZ0ZQcENGa3BlK2tGZUJ2UDNsM0pvMmlwanR4clEzNW5zOHlTSDVHVzZjZFVaUlhPYmdBYkhEeFVNUWxRYzMzVkQxM0krRmgxTWlLNGFBSlhpbFlEdTBJMjZsaGVGRHhTZllkMEZ2cXJzeWU0enJjZWhNNExUQ2pPUUJ1QzNVT0UyaWhaKzRIU20vbEJNc3RUVVc3MXJFeGJ6MS9hOFoxZnlzQ1JvSlpieVpVMVFpcWwxOGIxV0J2QnpuZFBnTXkzNXdrbFMvdDlTaVdWWVRJU3NGQlJESlRNQmtqRFQ4RXgvSFE9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=DlTV8yn4eo2QgqBXFNVbyRd8XEcLHGbr5Gw9bHrgN6RjDURGl8ChEHCT1KUFhTKYd8wkoNSWtSMuMm8AV/XYyDzxZcRIali+8rQ/b4rlWr5D7Ei2oMp5RRAQ8dmC2dtMLMnwqrBpFWLun5zwLqMsVuhsu4c6PREWjN1iED5eUQQ=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185197; v=1; bh=2e+Jd6Ih9QU7lf8CRlU/Z8VuBy3omZwrLnRrXThi9bM=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from PA7P264CA0419.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:39b::12) by GV2PR08MB8320.eurprd08.prod.outlook.com (2603:10a6:150:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.8; Mon, 31 Aug 2026 14:06:30 +0000 Received: from AM7PEPF00000057.EURPRD83.prod.outlook.com (2603:10a6:102:39b:cafe::53) by PA7P264CA0419.outlook.office365.com (2603:10a6:102:39b::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:30 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::42b) 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::42b as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::42b; helo=mail-wr1-x42b.google.com; pr=C Received: from mail-wr1-x42b.google.com (2a00:1450:4864:20::42b) by AM7PEPF00000057.mail.protection.outlook.com (2603:10a6:20f:fff8::21b) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.0 via Frontend Transport; Mon, 31 Aug 2026 14:06:30 +0000 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-484415c8bf2so10547f8f.0 for ; Mon, 31 Aug 2026 07:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185190; x=1788789990; 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=G/W3Rn/1UEizcrluUYNaf2DssKJ/uJ9+opSo/KYvfvfDQMkamnDPTggoYAd2DMZKOc fGJKTlT+7WgT4k9htaICPDn9rjTL8OS2KsPSai7zVLT++2gpt57daHbxYbfwUQRm1LTu GHIlPkaEJsQHd8xq8r92LTMMs+y9gJ7NkKT4iOVemcvSIAbtXStDpVkelkWXd2OnUXA5 bH4Rtd3+yXrS9ypQAA5RefjTS0UEJrDRNWkAGbj5Kdcfix8GFqelLfP7yPYeXOihvsiS RdSx4I2ppIS5ycFV7nEeq2FQS0eRIxE+s13YOOD8NNlt/cQRCMYrF9nteaTtW1cbeZm1 qj1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185190; x=1788789990; 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=iurYbvinq2P7o8t8g30flLhUa19t+euQFrci5R3Alo9268vTQKTBH3GnnDoUO5lmNb uYG4txeccOdB3LgedGLeCqbiNZY98pPElGt1vAwcCLaZNCeMAnEKyHuqu39geY2HJmuy QK6rTqyDDGrNTBQRd9m60c5t0B36dp8MOkVshS5nkNMiVKBmxSZYAXhAe3Jn7yAQu1Aa 2T80lfaNC/Ql9EZVsnj53v+rckUqH+oTN145eizHSfAXMj3I5ezA/LBBrERicAFBO7nb PIzlZkBjQrOIrzPzF3O677EERnnMt2K74onIBK7AWgITwCEeMpI7ENpyWi9djzJHv3gR PlbA== X-Gm-Message-State: AFuF++lZql96qTK5DUgpIY0aJgJH9j18TcCRFmXNgDwoig9vWYh8/mka qVPnv+7Z1p9sdrwG/T70dFUMdHDcvHTF7KP66exRyniLgknS/7/7pXrW6egSXA+MUDivnP+YtFu mbMpZ25k= X-Gm-Gg: AYBFou0SX1Q0LMr5mSG1BUfzhvMl0qoBES6FHVc00X7VDHYlK2Xm+KuRSq7lrVmxlTu tGlRvz7w+1z0zqw3PL5BK3Upqus0khk+n8IhPsvHediwW9uRJ2wBhvp1IT6QqJJGX05rzJFxUwW GYTjYQgWGPWT52CVUCYzeuaWpFnEMVvmeJ4ddy4R7hI24PMrEKojGPuK7XROaZQ8Nqpw3ADLh/k g552cfITb4nzfOwGYJEVXA3cUKZ7Y2LXwUcFgQqWeBRAlurOdWVa9FHqW0F+Udp3PGI9nJn0PK3 gGZ1Qa3w9oPTclxF5E+M+OM2IbqH0+eZcs3lZb10h7wsLW/YQ3GkGfITcH+inQW93F9ubi9EQWT v5ErfGSsVNjTF7aslqNos2nBkegXaqVc7D+j1IKdJ/XKHVcw4NGTlRR0M7H1y7/bbisjOaDvTuq 9tMUbA6nraIPWmGBAzzwm4Mmy3BGbuksTNNLSGTHopfQd6kmKZRfRJjvbygg== X-Received: by 2002:a5d:5e02:0:b0:482:e2f2:19c1 with SMTP id ffacd0b85a97d-482f7975f7emr43108017f8f.2.1788185189928; Mon, 31 Aug 2026 07:06:29 -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.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:28 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 5/6] io/channel-websock: do not lose QIO_CHANNEL_ERR_BLOCK while reading #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:19 +0200 Message-ID: <20260831140620.1204363-6-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: AM7PEPF00000057:EE_|GV2PR08MB8320:EE_|AM4PEPF00027A65:EE_|DB5PR08MB10116:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: c1b52b91-99c7-44bf-e94e-08df076913e3 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|6059299003|43022699015|12012899012|82310400026|2092899012|3072899012|16102099003|57112099003|55112099003|18002099003|22082099003|5063699009|19002099009|10067099003|6133799003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?Yld2Sm1tYm8xZjdqQVVGWmQ0ckF3RzVSU2Q1QXFSak4ySTFrZkRIVDdXNlJL?= =?utf-8?B?U1VvMXI2V1poR3VmRkhuZXY3clgrU0xXbnU5bUJFbGZTVHZHSjdNSVNia2Zj?= =?utf-8?B?TEJLYmNqNGh2Zy9tMEhMQ25HSDMzZTRkaUkvK09qYmRpNXFyYXJvWjAyUlRp?= =?utf-8?B?TFN2dXlleUFaWHByZUFOdndZWDAzQytiY2lJTXc3V1pOWjRDelkzcjBYeHQ4?= =?utf-8?B?SW0yOExEM1NzbFFoL0RwY1lzclJQeTc0ZmxHMUY1Q3p4azAyMWVPNXNMdW1C?= =?utf-8?B?Yyt1SktiTTVJRkNwSkhjL2RRamgyZnBIZUNUODFXMUFBSjRvcWtoTndKSkE5?= =?utf-8?B?L0JLTmdKMGhhK3JDRzBQRVhBeXVPZy9GRzZIc3hxMVJKODFLY0hFWGpkSzlq?= =?utf-8?B?OGZYdExnUm9iT0pnUEtxNkg0MERCTXRnTXlKTlNKcXhWZEFzajFnd3c5OGFT?= =?utf-8?B?emcwdnlSVGJlUFpiTmhwQ1dTYkRoVWhlM0dydVNIVlVwZmNvWFpJcllRamJV?= =?utf-8?B?dktYcWwrMjdoeUNhZVF3QkJEd3dmeExIdlJkZ29BVElDZEZHdURLcnFNaCsy?= =?utf-8?B?YXN1TU05dlJYdkVMaUNJZHdET3d2bGluZnc2WnNMdC9Fa3ZsdnpXd2grOSsz?= =?utf-8?B?Um9lRmVSblZVdXB2L0wzZmY2Mm1EOEpIcFpLcnVyd1hUMHkwTmgwcHk2bTZL?= =?utf-8?B?TmtWc0NPbUZyOC9NYm9Cck5EL3dEdlJJSG50UEtUUTRZMFM2UWZRTFhlWFl4?= =?utf-8?B?dlk5TUE1V2ZmcHZJOEFQRFk1WnowVlZaSU16TnNaVE14blZQZEoya29XQmxu?= =?utf-8?B?MG1ReGFrd08vVWRWT3VhemNsanpuc09Yc24xRElBdmJ6dXdrb3RsakNMam1o?= =?utf-8?B?cTBLVjljQzVtRTB0dER0eFFEOHZMYmdSRmh0RC9pbTRQZHRESkVHa1U4VzlE?= =?utf-8?B?ajUyM29WeEhjRDRSczc5dXU0d3pibmh1bVBKUlJvMjFFVnRMMlFQcmNkOE8v?= =?utf-8?B?N01vZXJBaVpteHZyWHVYSk1mOEpXVlBONURhN3hFNEY5VGI5dFhLQk43V0sy?= =?utf-8?B?VUhueThuYnlzYmI3b3pFd2xBUWxZWlNrZURMcWcvTXVpMTVFVFpzNnoxSmZF?= =?utf-8?B?Y3ZKZk5TMFpXaUhOY3R0QnVVbkt5M2NrYXQ5WTVGUVVXbmRjeHRkdTFRaWdt?= =?utf-8?B?Wlo3VFVNVGQ5NVlIcWg2QThESzJHL205djdCZVdCV3lDeXVhcDk5R3p6SnpU?= =?utf-8?B?U2doVFRuMTZ6d1JNeC95VGxuRndjTkdkSlNHeUwwTjk0YkxqcmFFbGhLYnpP?= =?utf-8?B?SWY1QlVHb2owb2l1ck11a1NpOWFET2VQNUNpVC9laUZCZnNKbmdzS3lnU2JV?= =?utf-8?B?bnZsSkZ5ZzJNNjJ0ZkU2eWxOUzRGelNQbDJZcDhmSEtPK2VxREs3SUZ0ZUpM?= =?utf-8?B?cGhxSHhsbE0vYzdLWGFOM2QwbnU2ZjZqRzZNODB5Vm9vcEFKRkxuVzZJQVFp?= =?utf-8?B?MmhZZE5naXFvTEl6ZzlpM0VSTkhpZ0hSd3hGeldDOGNWR0FETk5hL2lUSU9p?= =?utf-8?B?emhDcUtmajZsSWxENjQxcGJEVE5Zd2pjNmdFamxoUGlhS1R0T1NiQ3V0bjAx?= =?utf-8?B?L2JZQWxvbFpyNlBEWm5iWU9kcGxic0R2YTd1bWxDengyeTdWL1NPeGpIM2M4?= =?utf-8?B?YkdEK2tHTy9FMjY4UnE0aS8vTFJvaElLZldQQnptWGkxaW1nbDBDRW53bFFL?= =?utf-8?B?d3JXV3lCZnNIS2xHV3pGdFpKWlU2VDdUYnBzQmIzMjIzTFNyZEN6Z3dxR0JJ?= =?utf-8?B?ZklybGtSZjBIdnoxSFFrL0gwQ3BSeWZBcFdGVmQxNWczTkRudHJGTHJ6ODAv?= =?utf-8?B?a0tXdWhxaVNESEc3bHJEQjcwUjVQZjVQdFNPcHJncGNQZVErbFRSdVByYjc1?= =?utf-8?B?TFZyRHRjemRET1Q5dUFKenl4RFBMOURmRjh6WUtlc1B6NXAyZ0ZlRmZLYmhl?= =?utf-8?B?MlVoKzR1Rm9JK0ZELzlFaVV1d3drZThsSUlxWWdMM0IveXRhMXd6Sm1FZ1Ju?= =?utf-8?B?ZGZXNTlhaFE0Y1ZsNitKTHNwa3Y5bGNWbnQ5KzRXY2FRRDB4eC9kUFJDMm84?= =?utf-8?B?NlMxODRqNzBoVHdTMlNLaFc3bEl6R2QrU2svcjhGRlZvbmpuMjdjcWlWelNY?= =?utf-8?B?MWdQc0ZCcVM5eVhCZ3JIUU81SExaM3RzODhuWkpjc0Erd0hrQWlLS1hORmxC?= =?utf-8?B?RXBQdWF6YVhjK1dONEVWTnpGWHQxZ2JTdWo1NGkvcWFEVlNTcVZqdFNJa0hK?= =?utf-8?B?MzFpMVZZZkV3dGlYcEVNVHY2TFl2Ujl6Um5zZHhqcG5icmhrSDJVcjdyVFkv?= =?utf-8?B?QlBHL1REaGY3bWxkSHUwVGpGZzdjck1sNitSRldTYXdaSmRkZVlmcjg5S003?= =?utf-8?B?YUlQYzZPTnRSWDdZOHcxdFgyS2QvdHhTeTlnc1JkNGJHS1Izd3pYUHVOd2c2?= =?utf-8?B?UUlFZmJSWStSMUovLzF2Q2Z0RjRhRy84YzRmU3h3NFlpSWRkaVBpMHN2c0h2?= =?utf-8?B?d3p6blFyaEN4cVlDUDJwS3JVaTJXcDluYk14bEF2VDdlbllCQUhiamNialM3?= =?utf-8?B?MHdicGJUZnM1aG9VMzZsb0tSdVIwSUxpdWo0WUg1Z1gxRytzMCtOZDRLOUdr?= =?utf-8?B?TUN1bDJLQ0VDYllRcmJ1L2ZpM0FtR05Sd3ovQnpIL21Tenp1Nk01M2czVnFT?= =?utf-8?B?by8rbGlGc1JqZWJHSGpIbE5QcjZFVitvV0g4bFl5NzZhanJzT3dISVpDTkFJ?= =?utf-8?B?Q042QmtmaEl3aFpJTHlUN2RVMGQzcTlYb0JidUNxblEzK3hPSEdTMXZpeGVZ?= =?utf-8?B?b1FEVjRtSThxYXRwbmJZOXVhN1NiZS83UkRtaFlqZVp6dVhSNTBHcFBKRWw4?= =?utf-8?Q?fzRPvhLogqkIolmg?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::42b;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x42b.google.com;PTR:mail-wr1-x42b.google.com;CAT:NONE;SFS:(13230040)(6059299003)(43022699015)(12012899012)(82310400026)(2092899012)(3072899012)(16102099003)(57112099003)(55112099003)(18002099003)(22082099003)(5063699009)(19002099009)(10067099003)(6133799003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: I+bE9KHuRk3Cq2PNaeAtkmFU8MXuhbQChf882ka3pPQeXdBlPISWZAR4/bW1WuOJUesXx6Y6UiRIlqAgu3kySBjedqlT4i5DHzcjBu++FnI/XJBrswDQCal5U1188MQglxw6bjQjGWyWVD5M5eYz2GKuFK/hcRm27l/19wkvfUW5Y6usduZvvz0rwKhUbq7NNMx/AMB6QTS7jhrTnqk0dvAgHUQ/boRto59ZWgslaDWJUNE4lXxXRRe4lQZOiDrH/28hmwaKBiwgMajJ4oV2ZtftbLUNmCqkV+jeg+D6D7HAd4S91O1YCdr+4O4l3Y2JLcvAMG6VQgTvubPnfrJCyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8320 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:39.6563 (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: c1b52b91-99c7-44bf-e94e-08df076913e3 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A65.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: AM4PEPF00027A65.eurprd04.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: f5b5e384-4954-4222-61a0-08df07690e6e X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|2092899012|3072899012|6059299003|35042699022|12012899012|43022699015|5133699003|19002099009|18003699003|10067099003|5063699009|6133799003|22082099003|55112099003|16102099003|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)(82310400026)(2092899012)(3072899012)(6059299003)(35042699022)(12012899012)(43022699015)(5133699003)(19002099009)(18003699003)(10067099003)(5063699009)(6133799003)(22082099003)(55112099003)(16102099003)(57112099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:39.1630 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c1b52b91-99c7-44bf-e94e-08df076913e3 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00027A65.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10116 X-MS-Exchange-Transport-EndToEndLatency: 00:00:06.3309108 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?TXdvdU9RdWFXOVF4bThLVXMvaUcyTVp2c3h4bTNURkFvd290VXVSMmFtY1dh?= =?utf-8?B?RXlzL0U3M2o4eW9VM0ZZQXlyNU12VXpYZVFLNEFXNnhNZWFkbjF3RlplcFdn?= =?utf-8?B?WCtJVmFseVNsMFF2M0VvcEVaQnYxblY4MXlYcXAwYkNzWVRwRTRERzF0NytL?= =?utf-8?B?K3ZOdFNUdzFoRGJBNkhyQnJzcTJ1bDVOT0ZlSTMwQ0lOVFNZYlJDMm5TTWJs?= =?utf-8?B?b21kbTVmNk8yeEorNnF4UjNRL25OT3UrS1RmVzE2cVJQaW1Oam1SZ09MMnRQ?= =?utf-8?B?OHJ6N0JPNGNZSkhDMDRCQjlYSkNsdVJ1cERMTU5rZGdSMTN4VGE5aU14MzFu?= =?utf-8?B?OGJqM05pTTNCMi9jakticVgrciszdWZYUmNOamJHN1RpN09LdytZQ0x2TVUr?= =?utf-8?B?OUxSYjFGUkppeENWYU8rQ0UvYTM2bVMzZE9PK05iRUQ1emtBQTFQT0lMRnpY?= =?utf-8?B?Zjc3a3l3dEZKVWNDdXByNTU3c1ljcUVxUE5ZbUVFZTBxQ3dMMlhoaCt3OFZ3?= =?utf-8?B?NC9mM29kOENRbW9adE9waVhXVkx3bHBlMk1UL3BUQm01SHYxdXg4SDN0R0Vr?= =?utf-8?B?ZUxCSEM1ZUR3K1BJY0pKOW16cjN0cEFTS0RZWnMyS1ZFU2g1aWh3OXZWZ3FN?= =?utf-8?B?MW05SVRmaS84TjNrQXowZ2NxZWdWbUNEdy9jOVQ0SXJscW5BZzJGYkZtelRj?= =?utf-8?B?WUw5ZVYxYTUzN3FGandoYXdiYVJJMmxjUzZnRkUxKzNLUVFVa0RPT2VkZEZI?= =?utf-8?B?WEhYRk9UVTVVZm9UZy9GN3Q2cDRoUUhBRDZHdDhYQ3lUYmNpbTYrMXNLL1lZ?= =?utf-8?B?SGVoZHpja0hkZ09Ka05mMmc3eFY2UlRtVS96Tkw1Sm5GcUFNTHZzaW1PRHlQ?= =?utf-8?B?REdlTEl2eGduYnJEL1ZaUyttSUdhN1NHNXhKZDE1SXhpWEdxZWtYUi9SUE80?= =?utf-8?B?WDZWZHNVU3QvTmFFUUxPN2hkL3g5MmpyRmlPbFVDandxRi9COGRIbm4zclRO?= =?utf-8?B?STJkRHNWSDV6ZUYwWC8xVDkwU1M1RXMvb0NxMlQrK0xXR1RYUkRYdSsrdGdF?= =?utf-8?B?MW5icU5VSzlYd2VUZE50NGkyZ3pEalNEUlQ1V3Z1Ty9GWVN6ZVo2YWM2bVJ3?= =?utf-8?B?RjFYSUtZbW1RcVR5Q2dHd3NCaERwUmFIeDY2dk84Y2lURTF0ZncrZ2hweFFI?= =?utf-8?B?V0NhQUthVk1JSzVTVFRkZ0FGbnByOTBFaU1xYVAvUWtaNVVwcE1wN0haQjln?= =?utf-8?B?Wm9aMTdMMmtBcVF2TFJpZXkxK28yVkJWd3VjVUdIcHhnZ0RhRjVGOVdONkFm?= =?utf-8?B?ck8zWGJmamJQUUNuM1EzOElkaHF4MHNYMG9qdmVtR3IyUWNLdmVPWlB1bUxq?= =?utf-8?B?bjJHaHplckZhckJsWVpPbjJXQnBwRFgvM0RpTEI0TWVtY0wvTk1PRmZhUHZw?= =?utf-8?B?T2sySEgzSDhLN054cmNYdXp3S2NzNERZelhwVC9KUVRENm5uQnI0dHRtdWNp?= =?utf-8?B?a1ZhRjVSTzYrVkU3SnNwaHpUMXhmbTZNcCtEWmdBMmhNWTdHZ0duUVJZaWdt?= =?utf-8?B?N3MzUXNienppM29vOXA3QjBEMk9KcHRuWkxyakU1YXJEdWdiTXZjWDVKSzN5?= =?utf-8?B?RDVqVGZBdjBDWm5IV1I0czJidG40dGRBSUtNTCt2Y1ZTc2tHZHBWc0dualZk?= =?utf-8?B?TUgyeUhGZTBEY1VXbEJ5RVMvcDRXa2ZVaHhRSTl3b2h6cFN1cE8yczE5MWxm?= =?utf-8?B?WkY4SHplbFJNd24zQ1h6NDVvVHdWMkFWRUpiOEE3eDRDNm9GakhrOGh6dlor?= =?utf-8?B?TXd5ejFoWkx0TGR1RDBvZWM3UEVuR1diRFNLYS9GUms5V2x4Slk3VGtWOFM3?= =?utf-8?B?R3VUV0VTY2YvajFHcVBNYi9TV1R1bnpHdU5MV0h0ZE5oNnV1Y1UzSXZQalZu?= =?utf-8?B?Qkw5ekpGYks4UWcrS2ZMTjZVcWkxRFNuY2k2UG9NeXZoMWZlT0R6VWJSc1JT?= =?utf-8?B?NGFDYy91UEZsN1UyYmZVMWpYck9TL01LU0d1YUpRLzR3bDVFdDdncFYxNUJj?= =?utf-8?B?SmUxc2dOQm54OXloc1EvbXBaRDBiRXNXUnZoVW0zR1loNml5cTVwTlM3TEhu?= =?utf-8?B?K0h0VnZDQVdNS2JDMlB6QmswRU82eGh0TVkyRllWSlI0ZjFRSktFQXVkcTJQ?= =?utf-8?B?MXlJY2Q1Z0htWlZsbHpET2xjR05WNmFXaGhNZjQrM2JqWFoxWjVRRWF5Tmt2?= =?utf-8?B?WllFVnB6K1VTOGptT09ncGpwblVXelRjbzBRMEIrbmhReWhMWkJRNW5IaENp?= =?utf-8?B?S3hWcUpTa25IMDVFeWhLekdMZ253ZzZMcGtFdCs3bWhwZU00ajVsSW96Tngy?= =?utf-8?B?TUoycXRZaEFkUmEwRXFTMFVyK0ptOW0xU0pzd29PbVQyYTc3N2FIaE8wWDUw?= =?utf-8?B?R0VsUmtlaHZ1WEc2WHdWK2VsaEt5UVpHVHVlcm4wOE9oUTRTZHA2QWpwaHZG?= =?utf-8?B?RHNtL2lkbjFtc1ZuOHkrL0ZCemdNMlBkZ0JhRk04UzVTVzA3Wm1vMllJdVk4?= =?utf-8?B?QTVqcFVVRjlWSjc0eDJZRnhaVXZXRUFZK1ZEQk1lL2lnUm8wYVAxem1CWTRn?= =?utf-8?B?UjlWUXFTcFBtalV3Y3RBaHQzUXpIV2hvalhjVG1JblhYTHhYcFBLcWdJMlZ0?= =?utf-8?B?bUlCL0lMNTVKdm1TQWd0Y2llL2lGV0ZvQnVrM05nSkgyQnhqZzEvN3Vxd3RD?= =?utf-8?B?cGZyT0ZMdzRrQWJvVEtIREhOZ0s3eXh5c05IeWE1Yk91UDVZVmhwVEpnTGt6?= =?utf-8?B?SGdFWFNRanpBemtIM0lhejJ5RERHWmZNM0VScWFuVVZLR2kza3FCWlA5ZmFB?= =?utf-8?B?ZjB6djNUY1I5c0VzdTY3L0RlRGllT1ZMVGhtWkFCTVVUcitPRTNRaGxNaS9G?= =?utf-8?B?QUkzM3lVZmNXVmV3dTN5MUc5eUtxYXl0VFhnanhCUVJBRDBUcjRQeUV0R0p3?= =?utf-8?B?dzNWZEQxRHFYZzR3Q0xJSG5FRy91ZUpWM0xBN3ZWd2JrUEJvL2J4dGtwS3JV?= =?utf-8?B?SjQycFdodnJDb05yZWZFeTc1SE1UVHpNdTNHVlpWdEZBTWF4anBDblh2NDhK?= =?utf-8?B?dHNuMWZMdytUZ2pyQnhyYkY0Z0ltT29LTmhlSGxSdytodjY4Nk5uOEFzd1Y1?= =?utf-8?B?QzRjRkpNd3FYOTFMOTBGQVdyK0k1VmpOcmxncHBGZDlwRzd1TGMyMWdQcmNy?= =?utf-8?B?elRmODRJVWlEUGttajZBeVltaVpZU1N0d0xublI4RHBFOU5iNThneU8rU3RU?= =?utf-8?B?elVWTTNtdDVGZFh1d0hqNVdEZys4QUVHQUVycHhlQjVudU01NHQ3N0t5K1pt?= =?utf-8?B?a2ZjK1AwSkJJUmN2cW1aSXJibEhHaFpDajhSYUxsN3VjT0RJSWRrVkZFcENS?= =?utf-8?B?L3dyZjA1K2lSN0tWWDg2ZXdCN3Z0MlQwRHBYNW1BSUFGUGRsUVlFMStOMVpn?= =?utf-8?Q?Mc7sEylqTXEGUfkwqecQUJCOqeqoFbQ1mJuIc4=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