From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM9PR08MB6066.eurprd08.prod.outlook.com (2603:10a6:20b:2d8::12) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:06:58 +0000 Received: from OS6P279CA0099.NORP279.PROD.OUTLOOK.COM (2603:10a6:e10:3d::8) by AM9PR08MB6066.eurprd08.prod.outlook.com (2603:10a6:20b:2d8::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:55 +0000 Received: from CPH1EPF0000051A.eurprd04.prod.outlook.com (2603:10a6:e10:3d:cafe::a2) by OS6P279CA0099.outlook.office365.com (2603:10a6:e10:3d::8) 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:55 +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 CPH1EPF0000051A.mail.protection.outlook.com (10.167.241.229) 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:53 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::333 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::333;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x333.google.com;PTR:mail-wm1-x333.google.com;CAT:NONE;SFS:(13230040)(3072899012)(2092899012)(43022699015)(6059299003)(12012899012)(82310400026)(5063699009)(10067099003)(5023799004)(19002099009)(6133799003)(18002099003)(16102099003)(57112099003)(22082099003)(55112099003);DIR:INB; Received: from DUZPR08CU001.outbound.protection.outlook.com (mail-duzpr08cu00106.outbound.protection.outlook.com [40.93.64.70]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id ulbk0fqssbdlhtrs34654tbolp7t617b1dtunl81; Mon, 31 Aug 2026 14:06:50 +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.70 as permitted sender) client-ip=40.93.64.70; envelope-from=den@openvz.org; helo=DUZPR08CU001.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.64.70 as permitted sender) client-ip=40.93.64.70; envelope-from=den@openvz.org; helo=DUZPR08CU001.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFHTEU3aTUvR3Y5ZzE3c1JnSGg5bzdMNXhlM1RaR3cwYyt4ZzlOTHUzR3MwdzdaQ2YrNkJBOUI5Nm1XV3I4dW4wR0E5Ri94dExBT2RoS2k3bTVuUnRGd3VKcU9zTlEycHVtbDlzK3JqNWNscUtBMmdFaHlQanZwVUNhNUZXQ3RTdVk1Y1l4Vi9RaWJVSEtlaCtLWGFCUU5IWWthTXFoY2dLbDhPdzVWRVRNdnhqM1QxTkhLbDFneUtLU0FuV2NONzdEUWdpTHdNbktkQUdwbXJwTTN1OXFFTXJJWi9WZWVkWFRseFR0K3lHa05IUjYrK0M4bVV0bWVVNzJ0QkQwb09GaWlDVzBmQXZDbEZaVDhEV1pUUzBTRW54SU5FbDZYWVVBeUZaK3VYdnRjYkE9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=Ioj4MQytJRqVlHFRXFq4/+bb2jTtozstjSsERZ7zdLTs0eml0S77IDTCYG/lfmTFOYAbB+w1U3OguudFRbYCODOhAFK9Ee8kiv5D6rt2oO598HrYTu2hB3U9Wxetu6rxsXS3rRistyrKpMwknTxNLNMadNh6nkgxWF2nObZD774=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185211; v=1; bh=cYXa278RbWMh3QwefhAAesIT76ncZT8mVWXy54Hn28E=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from VI1PR09CA0109.eurprd09.prod.outlook.com (2603:10a6:803:78::32) by GV4PR08MB11274.eurprd08.prod.outlook.com (2603:10a6:150:2ee::15) 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:43 +0000 Received: from MI3PEPF0000847D.eurprd02.prod.outlook.com (2603:10a6:803:78:cafe::bd) by VI1PR09CA0109.outlook.office365.com (2603:10a6:803:78::32) 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:43 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::333) 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::333 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::333; helo=mail-wm1-x333.google.com; pr=C Received: from mail-wm1-x333.google.com (2a00:1450:4864:20::333) by MI3PEPF0000847D.mail.protection.outlook.com (2603:10a6:298:1::64) 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:43 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4980fe6b3beso28432165e9.0 for ; Mon, 31 Aug 2026 07:06:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185202; x=1788790002; 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=gmor6lcX+kTCRbRPLsa1obWt6r02Fk1r/F+JXMJpSFc=; b=SGhX2DMeoAHMU5Iuxtem1dzUdAZq9ytUnD5wasTk526wPqIN8fh/43BUcrWkBYxiPw BTA6dCXBqJHZH2oSJFsS4wA3Q3K8R/sHCbTHH906O4H6cQN+ClUSKTrHlKGnaSdt/aSy MBtAOh1zNgQ8ix61Yn9RZaTP6Vo4ZxMF21z2McpfoEhWTz0ZBos7VpK1NO5Cyu39VpRY EV2811lNj32x6Bq9Galpkh4Qhube/S/TEbEtfXiBDBSnjmFrInuu3JCZ3CWsyxMoisG2 lBKHIAgXJiDEnlY3ChhSSGufdI0OGVq5CgGneslrsTu4KAprkVDuqgulFF6/8anyflWb UsxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185202; x=1788790002; 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=gmor6lcX+kTCRbRPLsa1obWt6r02Fk1r/F+JXMJpSFc=; b=cLTarPFxTJaDM7wOFyW3VvTfIQfEGHzqu903VkAAW4V/2uqkIYDsejCAEbU0+/DJzR zCaq/i0R+TTEt/CtdWhF3jcRdyDwmEx6SYKF5giosU7S68hIV9QmcM4MgnIOG06VnQuR K3EGqQgi9aR7vMNbnLWWCRdAH6IZwO9SAYKjbeeE7xPMWXhy6+bjCJzODLS2h9qmlJyX SAaF1Ar47kg5XADryLTchA82LRvsWtqRTP9SDs8S62hLKGUfSg0+qk4VMmYbliiPS2ys 6M5cmWFKhEKl5YAdOqSpRTShqs1Vy1cN5rmsD5P7orfosOvMNsxDAr/PxbvVQmI5S6Pg qH7g== X-Gm-Message-State: AFuF++k0Pdy53s5Xt/ve8VzRZDuHmwt5HPEOuJkSOnPUdPGpKFlsgrap X6SQiMYMtdzB3TQBukJjF1hCfC7NaI+cvikPhhShu9ARhg06qfb3VkprnPQDzhHppW0TFSrOzGP hbpn8R0o= X-Gm-Gg: AR+sD11MG2vZCV35oCHyYPi+EMWSKIptFtAdniL1GvlUgu4Yq4qniVy/H0QKh+W3AyR 3i1xruLVKhn45lkKQOCSMWhLuxxQH4dYRz9vaJH6IxxwiqB5AStu9EVpE7JDvETEZCySVAz/WQT v4m/5TBu6I8FRu3nuIP1D42XNNMNEBCEAw9VypZ/xeOJMdfnWSkTFaCL7Iqms8mfYJfauPwsm8w CKwg07cp2EGa8uMq3/I/ShG4p9xtj2i6cYkTzT7aK5aOe/VEr0miJxwY7S7aPnnKjn1pMwFjOfj RJijsPXuoujl9l3/1cFf2GMmRFzsuQ8qATXjhxr5hHqvXUT3PtqlCLtTFI0JCcHIpm+D2TiiNJt PrWeQINOqbedSqvZaTR9bUOQBNAvcWPWPAw+efBTifWWC66Vx9THkJ7KPsPhNa0qXsDA3iM5fV9 rTjXgQATtxmO/OHpbp4dSLHMCkDkZKJoJ+2AQ52+qlWbexaWvSVoLAEi+r X-Received: by 2002:a05:600c:699a:b0:49c:799a:177b with SMTP id 5b1f17b1804b1-49cd5312c62mr164746485e9.2.1788185202377; Mon, 31 Aug 2026 07:06:42 -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.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:41 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.1 1/6] io/channel-socket: do not treat a zero length write as an error #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:32 +0200 Message-ID: <20260831140637.1204714-2-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: MI3PEPF0000847D:EE_|GV4PR08MB11274:EE_|CPH1EPF0000051A:EE_|AM9PR08MB6066:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: abb246bd-77ff-477b-582b-08df07691d1e 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|2092899012|43022699015|6059299003|12012899012|82310400026|5063699009|10067099003|5023799004|19002099009|6133799003|18002099003|16102099003|57112099003|22082099003|55112099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?MTFVM2FxQ3VuMTVVSG9nbTlwUkt1RzAzZDFCVnNVVnAxZVZQWU92UGZuS2g2?= =?utf-8?B?ZzhZQzNNV3dUcHBRNC8wMTdYaWhwRjNaMTM4MFYraHZRTURHc09CcXRyZmVY?= =?utf-8?B?MTFhQVhIbnZxZVRrVUVyeDNublBrcWUxRk9Jczd1R0VVYXc4LzRMZHdLOCtB?= =?utf-8?B?SW14WFdVbmxLS3IvYml4NVorTWkvenlkM2t2ampDLzNsMFFXNTdPb2JJWFRj?= =?utf-8?B?eGhsdkJVWWl3L2NTM2FObUxFRXh1bGhIcWRzWVVlS004TlMxbFJrSU5xb2lF?= =?utf-8?B?b0VHVGJNRzM5eHdtMExYU2lOUng0SXNLbzBkcGRGNnZTNDRybmxnTEgwZ0Z6?= =?utf-8?B?RmtwMm1RSXl1ek5DdS8xZDcyNVZVcWk1VHlLVGxNaGxwY2M0YTJUNjAxRitR?= =?utf-8?B?L0txMDdVa1lVK0dvLzBaT1lQai9SSWUxNWdoc2dpZWkwSDV3ZDNGSlNFV2tE?= =?utf-8?B?ZFZjcS8wRmpzdXBtNUFvMDBkRzd0NXVXdDZyNUpVTDJKYk8vQnUzdW1aWlZn?= =?utf-8?B?Tm9FZEU5OUtRVnRkNy96UFdzOGlaanFGMndxSFlLNkQ3WGlrcnR3cWpnM1ln?= =?utf-8?B?MjdmdndnbjVaTmtBZ1puZE11Um1rdE12ZnNWUDk3aENYcERrTnZ6ekM4aFo0?= =?utf-8?B?d3BTb1g4b1Jmck9HaHJwTmR6VENEemNNd0hKS1FUQUd0UDVYamhXbGlodWxR?= =?utf-8?B?bFlVUkZrMVdyTHduWDQwY3JqbjdyWkR4M2FxZVUremJqUEN1WEluUjJheTRQ?= =?utf-8?B?b2hralFjQ3hyTnRwSHg3WUprQnUrTTZSUWVxSjRDQ0wzWWdjMTdURUtOZXZv?= =?utf-8?B?U3I2dVVKRUJqVFg3d09oMSttU1hzN05xdG1mSExCNTBGaE9wVDNLbVpGMjRS?= =?utf-8?B?L204U3VGekNkT0VPK0s2YUlPSWJpZWtjV25tNm1KMTM4YXFHYmtGcFIyUlkz?= =?utf-8?B?QXBCbC84L1FXSlRXa2NaU2tsVHdHajVJeGRDbll4R1RsL1lySk02Q1ZJZ0Ez?= =?utf-8?B?NUt1ZG16VDBuZlgzTTVYL2UrT2tjc3RNNlp1OEVxWGhhZnpQK29FWEp2VEMr?= =?utf-8?B?T3dKYklpQndTdGU1bDhEV3o1NytSZmREcHJuaGFrN3N2NXJZaW5pMU9iOGpK?= =?utf-8?B?bFFHd2w3YW9xTkZJQXVZQW9GRUtKTTVocm5WYmVJMFFPazFzSWpFWTJScUdi?= =?utf-8?B?MGxCNmtmaXJpdlpyZnluZ1IxZHA0aVBaUm55ZWxmT1JXYUpOb0RKcTB6QnVh?= =?utf-8?B?M0JOSWowTU5lalZDcG0yeENUalhqQ2o5amxIbmdWZ2RzZzNzK2pDS0xRN3ov?= =?utf-8?B?ZXc3Y0xhSVBnTXJaMTdFZjRNSjYydmozaUJVd3Joc2ZQTDAvbHJOZDFzcGQ3?= =?utf-8?B?RUFuK0ZmTVBMdXJ3OXVTUU81TEw5RE5QOFJlcTh2c1VXdlJqR0hYbXhXd2Nu?= =?utf-8?B?TVRGOXM0Y3lJLzJLd3dLMWdOc2VUSmlMTUpObGFYaVA3a2treDA3OEFSRWZZ?= =?utf-8?B?WFI1UENQcTVNeVRrNHdCeE5CSGF5dFlaaWh1WXc3QWJNbnNjS3M2WGxkb29p?= =?utf-8?B?Q1hML3lWQjBCU1BsZXoyYlkzUVUzVXN0YkRzelVzd1h6RDRvNE4vY3VhTk5W?= =?utf-8?B?bENjbGRsQ0tsVTgzemlxN0Qya1VRa2lrS0hCamoraXgwWEpHQlk2SzBmbmZX?= =?utf-8?B?MVJqdU4yQ0psSHJQVW0ySXFzb2s2K3VSamo1dG1ERUZxVHhyWVQzQTJDTWFS?= =?utf-8?B?SDJnZnNXNWlMTzBnYSswZnlOMEx0Z0YydWxpZ2RITmRqV2pWYVBmSGthTGlG?= =?utf-8?B?Uko5a2xKVjlOZlFYeWErejhITUVDZHY0WWdZTXBFQUQ2VkZ4MHVMUS9hQ2Mz?= =?utf-8?B?UUVqc3NkTlhBbEJpOENDSzQyOEZ5TE0yZmRHeENFNjQrSFB2MVlEc0w4NEJw?= =?utf-8?B?NnBzNWRLQ0E4cFM3K3VhdUhKNk9wQkh3b000UFE5RWJoY0I2ZFlzTlNsblRa?= =?utf-8?B?aTlISzNBcG41UmxGYVhZNmY2eHordFoxbTladE5CNDIvRGJsRkIvcVRGcWhv?= =?utf-8?B?b1JpMVlVaVovK1pBUGJqMzcrbXVYK2pQa1UzazByVzFwaGFTNHJNcG1ZcG1z?= =?utf-8?B?VzhIeUZSMGZsL3hXT0Q5TTlXOG45UG1PSWpTSVdmNmNoMFNySEwzQitsSkc0?= =?utf-8?B?Y2xUWXFUMW1hbEZXWTFMSmtJcFdhRlFVVzBHa0s4dEVvMkVqRHphUTI5dUo3?= =?utf-8?B?S2lYUCt1MUJtc0hVZEdNVkQ1THl0OGg3WXF0RkplNExrdW1SYjFSOVRxbTlx?= =?utf-8?B?b09qdEFWSlY1cGtsbmF6SFlHcXp1ZGVDWFdzT01NTEs0dml3bUcvS1FHM0Yw?= =?utf-8?B?UFJpL1NrUm5xczhqVTg1Q3ZKUEdjdjNjQ01JaDVROFZEcWRCaGtleEFIQ2Nw?= =?utf-8?B?bHB3ZHE5VTU5RlhuVmN1ZHZqMDZyVVV2N2d3czNzak1VbGZBVnE3cDBvV3NO?= =?utf-8?B?d2FrT1dWNVNhUlJseXZ6NU1kTkFPVldoTkltMjY1WkxWMEdHaEwwRDRNalRC?= =?utf-8?B?eDE5T05TWkw0bk9aUS9UbVRXdjdpRzZzS0VabXhibGFlN1Z0UEFyUDdXcDRr?= =?utf-8?B?Vm1iSmpVOGJvYkJjS09Gdm5LWnNBNlZzT3lXbWdhb0llcnRWa2VoR0Z0MVZ2?= =?utf-8?B?QnJaU3RRL1NiSDVZOEtOQXRjcGo1ZDl0SFMxVWRGTDdmZWt3MFBPMWgvd3A1?= =?utf-8?B?aHRWalkyRWVXT1JicndMLysyVnZKVnlaYTJUMEloM1g3UHlNZG1VT2pocGo4?= =?utf-8?B?Q0EwZnY0aU9JbzhmU0pWS1R6d1lDbEFwNmZjZmxxaUhrYU5YcGxUZ2FQT1J4?= =?utf-8?B?MGgycTJHWFgwcVhUQXhud0JIV1pKOEd0UzhPUkdwZUxWaXpUWnFuRmttdlRX?= =?utf-8?B?WlByUGRPZzYrVDlPcndCUnFIWGhzQzZCdlFrZndBYjBDc21XRjk2WU5DY0lW?= =?utf-8?Q?OduO58dW6aDDV3I4NTBvKNJE+J2+7JKsccD?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::333;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x333.google.com;PTR:mail-wm1-x333.google.com;CAT:NONE;SFS:(13230040)(3072899012)(2092899012)(43022699015)(6059299003)(12012899012)(82310400026)(5063699009)(10067099003)(5023799004)(19002099009)(6133799003)(18002099003)(16102099003)(57112099003)(22082099003)(55112099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: jCXJE1KcbuC20vQ2P1cODaipIJ0fdm4Vee0jhA4mx5LQQA9kUMIeQeAr612AVcYyc6Atx03BAf1d2bgABpOMXl9iO1L/+sgb8ZPrKXvNcGDvdrrk4WmbYp4sISevEXbEUruUV/27rauaqXN/0yeOfJ/O22qbgdyfvfynE81gP8Gd8Pj0/rt2mrk+26zBR/7jl93B8DFyQSHqSh+AU+DTeZmgR+WmNJhcN9krWRtDO/8F4A8b3oXHxn1f7vkowpe1xdmWB7bX/UHl1z53UY+rh2ZdhX1qQg5G8lT0fLzlLw1kqlxTbnCnv3qdh317ZqIux7uoDNlJEBcM7WpDimeNOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR08MB11274 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:55.1388 (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: abb246bd-77ff-477b-582b-08df07691d1e X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: CPH1EPF0000051A.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: CPH1EPF0000051A.eurprd04.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: 370ded65-393f-4766-f179-08df076915f5 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|35042699022|43022699015|2092899012|12012899012|3072899012|82310400026|6059299003|5133699003|6133799003|19002099009|16102099003|22082099003|55112099003|57112099003|5063699009|5023799004|18003699003|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)(35042699022)(43022699015)(2092899012)(12012899012)(3072899012)(82310400026)(6059299003)(5133699003)(6133799003)(19002099009)(16102099003)(22082099003)(55112099003)(57112099003)(5063699009)(5023799004)(18003699003)(10067099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:53.8081 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: abb246bd-77ff-477b-582b-08df07691d1e X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: CPH1EPF0000051A.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6066 X-MS-Exchange-Transport-EndToEndLatency: 00:00:04.6635759 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?SlJvM1pZR010SDc1TWF3RHBvemNOWVR6SjZVQmpIZHV2Z0lxcjhIeDlZc1lJ?= =?utf-8?B?RzRQRjg1RGp6c0RmQVovTXVSYUx6dzFEQzNqYUZSNUpVdWVDWTduVXNnNk83?= =?utf-8?B?YXVBb3Nla1Boc1FYZDF6RGtEYzBSbVVIenVyaGViNWpweVhwYnhadlV2bWNo?= =?utf-8?B?NE40K25QeU9PSmdEcHpNOWFkdTRzSml0c2xPUDMwOS9VYXUrc0xNMmZ6cEZz?= =?utf-8?B?SE51M0JLbXJHaXJUN28vZTI5a2M3Sjg3MEFtT0U1Z0p1dVZyVGNOUnhpekZX?= =?utf-8?B?MlFYUWFEL1NEMzV4dHhKem5wNDB3aHZKaW1KTlJjQVBnR1ZCSzNvUjI3VGdH?= =?utf-8?B?czNCYkxHNXV2YlhBT1Rjcy9NRTVZT0hOUXYxNEFLc0NqbWo5aDFiaG81V0VS?= =?utf-8?B?a0wwelgvSTdlZ2o5TFUzYU1hTGNFaHp2RTlKZU13SzdONnNnVDRRUDh1dFZF?= =?utf-8?B?eE9Gd21OOXJiTjFvUDZuVUZTbkQrVENWT3dJdXZPMG5TaWZqRzdoWjNiQ3oy?= =?utf-8?B?eEJVWHp4OFdGR282ajJYSXphUXF0YzlyNUpscmFVQWJEU0p6T2syb3pmR052?= =?utf-8?B?YkdDQVNRMitPY1dUSGxZYklUTmNhcW83RFkzem1YSEZFN3J0OGFKcnk3eDlZ?= =?utf-8?B?RHROK2FuS0pWS01FWE9mK0Q3bWpBT3hHZjQveFA5cFJkY1M5UmZiS2wvRHJ3?= =?utf-8?B?RkZRT3gxTkxzSjJjTEMzTFNqbFR3QXAzd1NRNWxsOFVlMHpJMnM1dWxIQW9H?= =?utf-8?B?dlpIRkQyTkttaWhpeUtEcFVURTQ4a1l0ZGZBeC9zMlcyQTVZbldKK3UxQk1t?= =?utf-8?B?ZENGb08wWGtVWGRTWCs4ZzlOL1V6a2kwcGFDem1YdlNLRks3M3NESVlpOW5H?= =?utf-8?B?M1dBYTl5VU1nbVByWTc0bitvaE1jMllJT3c2TW81MlJsbzh2K2lvNlg2Nkdq?= =?utf-8?B?aVltUTdzQmFFa0Y3czlyNkpXTllkTVoyYU5CLzBsVTdMNlp1dVhONXhVQllU?= =?utf-8?B?dU1jR0xZbHFkSFlpN2ZBTkd2Tjk4SklyNzgyZFpUSzd6a01COW13Tm51Q1Fq?= =?utf-8?B?UXJmM3RDTE5PYzd4NWpvcE9BN1g2TDJYeFJVSmE1VXF6NHZlcjNVeDJpazNa?= =?utf-8?B?WklHZ294UmkrTSszRGtIdFoyQTNQL2VrMHBnUWNwU3hXdVQ3Q3QrVW9mcFZa?= =?utf-8?B?UCs0RzRHZ0pSWm00Sk0rWURFbWEzVHpjWTBnb0NXRE5XL3ZwNHM1OWJmRDF6?= =?utf-8?B?akRTOVdIcmxBZDUrZnZQRm82MnM4OVFoSWk4aW9SM1dJNFYwRXJoK0xZZzJZ?= =?utf-8?B?Q2ZLU3p5RTR2Vm9kVTF3NmJ3L0dhQlhNNUo3WjBHQ2tNSkZuNDBuenNMc2hw?= =?utf-8?B?NlNzbWlaQ0RCSWtxVm1zbDh3WWN1U0xVRHhFRE9oODY3VHV2YTIzeWx2N1U5?= =?utf-8?B?SU9Qd29jOVBITWZtMm1pNnlERWJFSkpoY0h2RjA0eGROR1ZpbjJDcWI5dW43?= =?utf-8?B?TTNhNEIvMDJrUFBPT29DVEsyTXZNRWhNOVFrQ3Z3RGVReDRXdzIwSURjS3J6?= =?utf-8?B?NEhsTURmMGJmcVFxZHV6b2ExOVZDV3JqYWIxRk9UcFNXV25uVUdTekRNZlgw?= =?utf-8?B?N3NnbitwNWkxQVRrM1NHTisxMk9BVjVEejJXSmIzUGpjbEhhelBsMU8raHBj?= =?utf-8?B?SlYxbytidEE2TjJMK1JjQ0JydmQ2Z2NweC9DeFVYa1REdklzRmt6VW01bTFr?= =?utf-8?B?alNyVTdqeU5NWHBxYXZsbmxCbldSQmg1RG14SXR1a2VZeTVZM0xhZTEyeVdz?= =?utf-8?B?T1hMOE5TUTZlSUQ0cGttVnBTeGNPYnZYUkpCZllZN01CdXNhdjkxVGJsQjZ0?= =?utf-8?B?S0xkZnlObHh4Y21XU2xVYW9EMEZtcFJGRXk0NlQxUDJYWGVOVDk2U1NYYUk1?= =?utf-8?B?cnRnRTNnVmM1aitNYStsS05rcFljSm1oKzJ2dEloRFlrYTRvM05saUJ5SXRh?= =?utf-8?B?ZkFjZlc4aS9qTlB5dm56M2N0ZlFjVFNLR0xVbStYUlVqWERxVzl3ZHFacm5X?= =?utf-8?B?dE1NV0pWQVlnTkJmUlUzQUxtL1NVWU9LRFNFZUZZb0Q4Q3dwakU1VElqditZ?= =?utf-8?B?QTRxZXpobDdtU0J3KzhpamhXVkhpVDJUcXYyV044ckx4UU1MYzNFYjJPd09J?= =?utf-8?B?cis0S0VTTDRrY1Fod1VqV0J5Y2hWdVNyZm9yNWV5ZWVDOWNmQU9GVURzcDh4?= =?utf-8?B?bm9McFRWTHprVUhqcFdyNXJCL1pnZWdGUnhvMFQxd0RGYXA0YTJzczNqV1lt?= =?utf-8?B?K2ZHbkZWV2FrbVUxWUE2Z0kwdkFwakhlMHloVlNCNmxXS0Z6b05pZHBMR3Fa?= =?utf-8?B?QTVPZzU3bzJxTklxUGc4QVJzdHdiRDZGb3pDeEJ3S2hDejR3NjR6THNRVHFY?= =?utf-8?B?b2tUaGdVdVlvQnBQc0RQamE2SGdPVVI4MFVkTVZ5UThkd3lKMHJObnZTUGFG?= =?utf-8?B?YkJ5bEs0MkNRb0RPNGlmVXh6c3NOeiszR2o4dDZkbE0rMHNkUkVXZFE0ZlNE?= =?utf-8?B?MXpQU0JEVERCUGIyMGlkZ2d4TVN4Rm5ldTVwOVhFSlpUVEN3SlpmVURGSjdq?= =?utf-8?B?bllVTE1Hakx2LzJOdFh2OGhnWDVMS0NXYnI2NzhrWFo1WXFPU0V4MXRFNnNy?= =?utf-8?B?b28xUDRMcGVScGV5ZkNtbG4rbFFoMEgvVEZKWnRZeGI2ZDJRMjBFNXgvenJG?= =?utf-8?B?NTdrQUVpUFhpcE0xYW9UaHVENFlMMlY5Y3g3WWdUVmVtemJKbjVpSFhsZXMy?= =?utf-8?B?RDdSNTkzRGRSQW1xMk45NlZ4bzZFSHRDTm50QUswSUZLTmF3SktTS3Q5cXlv?= =?utf-8?B?YTJONWpRTERNR203UDlCQTEyTnIvZkNLY21OWXZkZk5vUlN5MTFHVWcxMUVa?= =?utf-8?B?S1h0Y1J1RmdURHNJTnBON0pIaGhLcnRNZlA0anRIY29GMVRXbnB4SVlWZ2F6?= =?utf-8?B?OWNqRGpjWnZqOUdScFhvajVqbWVHa3JQY0tJNkF3TTJFTFRjT3huckEwRTVy?= =?utf-8?B?Q3pRK0ZUYUkxRkVFMEl3aUNvMjRqbW8rclRTbnB2UlovdHoxVnNrU1c2N3hC?= =?utf-8?B?akxHcWQrRCtsN1Qyd3ZWTzl6OXN1Y0VKa2hGWXJyeTJMK3RzN0lrcGtYK3hX?= =?utf-8?B?cjdKMUVCVUdHSk9TdE56OGsrMkYvM1p2dGlxQ21peE5qVjFvVVE5WXlTWlJv?= =?utf-8?B?NEluMHZZdWtqbkNsNTVuM3V6WFluOGZPSVF2N29JbS9mb0VYeThLKzl3MWJR?= =?utf-8?B?NFl6SmlieERydjgyanJ2Zi8yTzhOSEZtd2ROb3FhczNKQjdRNHpKUndMejhr?= =?utf-8?B?UEh2OTVJMjYxL0YrMXVodksxejNKMm1iRm1HR2sxNVlCOHlRazd5WWtHYWg5?= =?utf-8?B?dzhOMU1FNCtUOUdLUW9CbXlqWDI2bXVKQWM5cURRNE1BMVdKVFVvN2wwaHdX?= =?utf-8?B?RDFqZ2lZdDdKNzRya1NGSmo0STg2UWFlQ2cxNGJyTUR3YnpieGJZSHRwbzdQ?= =?utf-8?B?YjZ3UFltM29Nd1hMMWh3ZEQ5eW9tNWl6OS8rb0k2SHF0SzdHVjdFOXlCSGZm?= =?utf-8?Q?qDFokHZtFxmg=3D?= MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: QEMU List-Id: From: Denis V. Lunev qio_channel_socket_writev() checks "ret <= 0" after sendmsg(). A zero length iovec is written successfully and returns 0, so the success falls into the errno switch, which acts on whatever the last failing syscall left in errno. A stale EAGAIN turns it into QIO_CHANNEL_ERR_BLOCK with errp untouched, and a caller which treats every negative return as fatal then passes a NULL Error to error_get_pretty(). The websocket handshake does exactly that, so an unauthenticated client crashes QEMU during the greeting. Returning 0 is safe for callers which loop until everything is written. qio_channel_writev_full_all() has no zero progress guard, but iov_copy() yields no entries for a zero length write, so that loop is never entered. A connected stream socket returns 0 only when there is nothing to send. The WIN32 implementation in the same file uses "ret < 0". Fixes: 559607ea173a ("io: add QIOChannelSocket class") Cc: qemu-stable@nongnu.org Cc: Daniel P. Berrangé Message-ID: <20260831100151.914178-2-den@openvz.org> Reviewed-by: Marc-André Lureau Signed-off-by: Denis V. Lunev --- io/channel-socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/channel-socket.c b/io/channel-socket.c index f8d7d7d6ecf..094b82b370d 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -663,7 +663,7 @@ static ssize_t qio_channel_socket_writev(QIOChannel *ioc, retry: ret = sendmsg(sioc->fd, &msg, sflags); - if (ret <= 0) { + if (ret < 0) { switch (errno) { case EAGAIN: return QIO_CHANNEL_ERR_BLOCK; -- 2.53.0