From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DBAPR08MB5686.eurprd08.prod.outlook.com (2603:10a6:10:1a1::16) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:06:45 +0000 Received: from DB9PR06CA0005.eurprd06.prod.outlook.com (2603:10a6:10:1db::10) by DBAPR08MB5686.eurprd08.prod.outlook.com (2603:10a6:10:1a1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.9; Mon, 31 Aug 2026 14:06:42 +0000 Received: from DB3PEPF00008860.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::39) by DB9PR06CA0005.outlook.office365.com (2603:10a6:10:1db::10) 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:42 +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 DB3PEPF00008860.mail.protection.outlook.com (10.167.242.11) 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:42 +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)(704161411799003)(3072899012)(2092899012)(43022699015)(6059299003)(12012899012)(82310400026)(5063699009)(10067099003)(5023799004)(19002099009)(6133799003)(55112099003)(16102099003)(22082099003)(57112099003)(18002099003);DIR:INB; Received: from DUZPR08CU001.outbound.protection.outlook.com (mail-duzpr08cu00103.outbound.protection.outlook.com [40.93.64.67]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id r3chomja5p2u8msc4tl10poe2vr6lfaig4sqj5o1; Mon, 31 Aug 2026 14:06:39 +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.67 as permitted sender) client-ip=40.93.64.67; 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.67 as permitted sender) client-ip=40.93.64.67; 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: AEFBQUFBQUFBQUFIdDZFZmI5cHZGU0t3Y1pEVldVM2lqMGk5YXFZdlptc21MWGlWSnZoY3I3RjFKdjFrTFJjZU5mejNEckpEMWwzdnFGem90Q25mc01wazA0R2hzaWYrSkpuL3ZnK29oNGt2MGJvUEE1eXdJaXZrNDBKdFB6dkR4RzZGMXBYTUE3eE45NTJnaEFoMDEvN2NlaThkcjBuc2o2blhwdmlxbEIrUTduRmtLMmV1anUxNnE1a3F1UFFLR1J1ckNpRDNHK29jU3FjUVBmcmM4UnNDYWhSMmhUT3hRbWFIaEV2OU9vTlhQaWpsV1l1OERyY0diVGF2S2R5ZHB5UVNsdkhqMG94cWNuRkF2eUJmMGU0cjhybk5wZTNEbnovZ1ExZENBWkE2SmtDTEV1L1AydGc9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=6XcpF+0/J452+4D0KzNS2n/FG0Pc3tf4ayPD1JdDVDwNnVLTcTGTRnuvhJVRgthVF4dIQ1nLoVypmvo9bfXa/GMSJCwfGmgi4ZWZDiFHcxEsRwDDyNkZTnMGqNXODB7BBWEl49BKAbSjHM3YUdb7um4sZ7L4Sw4DGIXHg3igjis=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185199; v=1; bh=cYXa278RbWMh3QwefhAAesIT76ncZT8mVWXy54Hn28E=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from PAZP264CA0026.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:122::13) by GV2PR08MB11564.eurprd08.prod.outlook.com (2603:10a6:150:2d1::18) 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 AM7PEPF00000053.EURPRD83.prod.outlook.com (2603:10a6:102:122:cafe::7a) by PAZP264CA0026.outlook.office365.com (2603:10a6:102:122::13) 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:26 +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 AM7PEPF00000053.mail.protection.outlook.com (2603:10a6:20f:fff8::217) 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:25 +0000 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-48433f36a21so1351905f8f.1 for ; Mon, 31 Aug 2026 07:06:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185185; x=1788789985; 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=BAHCjWtXwifamb+uu7TdKir1D0ixFu9G0nCKbDCXiNZnkHNKZywtyYV7pXyDaJkkT3 Ixid4jlP9f5OYLnr+QAbuCc52gUvUOvI6oyU4UAozPM6IHMuONLlFBgtFFikMKIP0BTh fZQsbQQqoguG/uI2PAd6N/bys6NDB6wCRme8YjmQcXlUQ6k197ODpxZK0wncQ7deyVqD 1iEMTmN1tU+GZ0LGdhDh+x9bwq9WYqC4DmK0d3Bqn6t2qIgrSITMA/mdV+LDlF21HPBr fPHo++IKyljObwFKDp+qXN8Jvfn2zr922uDRalSoEklcO8RvP05SYearQkB4j8s1o3Kb xrSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185185; x=1788789985; 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=Nn0nMHxvhYbezGOkAHTMA+N5QG6sqbP7I610x4V8lQZDA8GkR4LeREOpwj+Plo+slC vkaFuVEiSUTB45MNL40PqN4lLZ/EicLoTVHNk5uWjafsmTGgLWNGjc3di1RcK57S/lvx icU630WIPrnCdS4dvO2RwDQKz2Uy6mcAsuopJfPNnTaAFjW7xNAwN868zmxstKh7Bepf 82BZFufNFDrblESjjv7VF6COMd6BtoMRGQWWn/ZcmhjcNBV9o+ntWkh73XKqNrMVtzQv rZPP9YY4AjsFQDG5gWSZVY4N86ACZg07GK+MkX3/DkTU64oIh/LCP01H35SPore1QnTx V9JQ== X-Gm-Message-State: AFuF++miqhnQIhzpOr9yV4Iq/s0b74j/TfQpdmRbWqXZnGKkAhrmVoy2 7nISSN2zBLncsNWnqy3qOUtPdW+e5eFQLtqkJfuKw9eZTdSOPVC1x+TSenMANKRCMbjJIknaUr0 bQ1xmAFc= X-Gm-Gg: AYBFou2yr2QzN9QyriLY/X602V1LHx/toiYlzL4SIcumJR6f9nTi/RMBjk0v09DQv3w Te5AgQfnAFTdaWvGJMo6uEV/xxbOr1enQMIiMH7Lf//58n7v1ofdgxcEyNA7xjlOf6+15r3Hprr LvZzhU01TH0HNeKPmKnOuiZPLS2HfwWhRRkI+icDmMcDJcq6/+Hb2vHmfRn2581jhalMgoA9cUN qHvyMR/UxhQJwO/wNMJL+sxf4BJyvWmg2mHIKZDSGwurlGa+UbuZFr8b6FYeSEbLHM3tic5TA/+ I+uAZdZWYxleFvClFfKgKLUqm+3yB9ISa2jn1Ag78dqjyrJ/xF58WSjHp4JIUr2rDwcp6orF0xz xdoBRlreU0KVjs2iQm98ANserWIKup5Zl4stozu+w/AnteViWvzC42psPUEwzWbKArpn1hXbrSh POvP6mNQN8orgwbSOFHJXbn3/GaTqSVHCBztXHpVB4y8jyUUyAfoPy4Keg X-Received: by 2002:a05:6000:40ca:b0:482:dfaa:dfa9 with SMTP id ffacd0b85a97d-4843979c3dcmr13962873f8f.7.1788185184987; Mon, 31 Aug 2026 07:06:24 -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.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:24 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 1/6] io/channel-socket: do not treat a zero length write as an error #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:15 +0200 Message-ID: <20260831140620.1204363-2-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: AM7PEPF00000053:EE_|GV2PR08MB11564:EE_|DB3PEPF00008860:EE_|DBAPR08MB5686:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d75aa8d-d309-4348-0da8-08df07691580 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|704161411799003|3072899012|2092899012|43022699015|6059299003|12012899012|82310400026|5063699009|10067099003|5023799004|19002099009|6133799003|55112099003|16102099003|22082099003|57112099003|18002099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?SC9UK3pzUDlwdktWMUNlbElJNWtRMktUYzlzSlBVcUQzRUExZDNhREt6TVlS?= =?utf-8?B?SVVndGFJRklmd1pTNTh6ekFRNU5aZTZCM0JTWWpNc1ZyOHg0anIvcC9MUXgz?= =?utf-8?B?MDYxdDJyalBlMlNVRFhLMXlpUTBjRzk3SHAyOXozNDh1OXZ0WGhqdFVRVlRG?= =?utf-8?B?MW0ydDZ0WWVzL2llVmNIdDRYakN3YXl3QW9Za0tqK2FwaXZVdmtDTTdneSts?= =?utf-8?B?NGpqSlU4a3hJelgrN0w4TGdSNzJnY2IyNmY4bWloN2FZZjhXOFNtTWR4WVBT?= =?utf-8?B?ejViZ3dHQVJBYVoxTzkrMDhrcUxwS056UlVHSVhEcnlaNkRHcjVqY3lTelFK?= =?utf-8?B?ejJWVG1XOUFZU0xOVlNkd21VbGpLYjlMRXVQVkRkclVYK0pNQ3Npa0pCVSt6?= =?utf-8?B?cmlTUUVQQ3lWeGZ0Y1gwbGFBUXYzZzk2UDE4R29hemVpdEY1SUN4QVFrNGRZ?= =?utf-8?B?WWlOeHJBUWxRbkhSTEJ2UGVhN0ZFZzVWeWxYNkNYTnVBdEppQU0yTGp3UzFv?= =?utf-8?B?RCtTWWtPZmFOeEtKUDZUb043a1NHaS9UVXk2c0dab3ZiRk85U3RHVGRkNUZU?= =?utf-8?B?ekFxUTdnU25WUERlNm0zaVFYUEljY1duK05wTFNHejYzQzkva2orM056dmVl?= =?utf-8?B?WEZOQnVOQUt1Yi9oaEMxdlJJU09rNUFPSjN2TXZ2N1ArNU40QXRLWXlGMExQ?= =?utf-8?B?Tjk0V3Bvc2h3bGJRSjdvdWczcDVlY0pNOTR6akM5WVdjYndHQkVnbUJKYWJC?= =?utf-8?B?SGpXRFM0b3lGT3BENk1lVlhaczY1RjJOcHp1SjRXSUlyUm5ZQkJNcS9zckVK?= =?utf-8?B?blJONnFNeUptN2JOdG5SblNsWVFBcy9Sb3hlSUdKNUUvakd5VUpmSThlYVUy?= =?utf-8?B?eU94QTJWd2I4bncycFZWNzVHc2wzZ2t6WjducWxrMFh2cnVPODdUM3F5VjBk?= =?utf-8?B?VzFMUXpleWVIbHRMTzl3UkhsZWpNak1wRTRPdHo0YlNteFJkUFpaNllldWEv?= =?utf-8?B?Vmc2bDQ5YnFJTkN1RTBEdm44cFhqeXN2aEIrK2RyRGxjaTd3akd6QXBELy9D?= =?utf-8?B?RWZ3MGtOM0lxM0dGdlM0RDVhenN2T09DWEFpR0cxVFFyT1RUeDk3L1ZtMitp?= =?utf-8?B?Z0RwNHJMNXpkYW5mUVg5aHdVakxHcjRjbUtEeHZmZDRiMHZJNzBqZWx4QTJS?= =?utf-8?B?ZXROYTV1Vkgzc2d5OTVEVjNic3R2bHY3VE1PRHY2clZwOGp2eGZPQ3BmMysr?= =?utf-8?B?V1RZcEEvMCtMc2J2N24zcHF6VWFxQy9xTE5ZL2FFZGJFTzFrSWNVdnUraWho?= =?utf-8?B?RjFQdDU1aXY0NzVwbFRseDRtYmVwK2lBV25yaXh6V2VoTzE2M2hOMm9ERTM5?= =?utf-8?B?N3k0ZFF5c2JhUkF1N0w2N3UxOVd5ckhsZXZDaW91dEM4aTZiUXArMHoyTEJF?= =?utf-8?B?SVU2UldhSllSdEdkeWhWMFBWdUtSdVJRaDB0aWttK2Z3TzZQTmxnWjBuRWZp?= =?utf-8?B?QmlkRlcwYXJnOEZuakVYZzlYSmJxN3ZiMnJveXNSamp6U28waGphVkZpUmk2?= =?utf-8?B?OVNLZ1QxS01BSDlqUEFHS1J0dzVRSzAxSHkrWkZBNk8yQlJtc2RFdyt5Zm55?= =?utf-8?B?WHVUOXEvdmN4NG1HUXc4OTJRRksvMkVJeWIyTlB0bDJjb1l6V3NRV2xjQkZs?= =?utf-8?B?eTRFaWMwclJkZHdNa2EwOUkva1N1Z1A5OHo1QWJvM096ZjVJMXltUkdQYXZB?= =?utf-8?B?Yk1ZQlkyaFM1RUZNZEdnUXhXUDltNXc4WUNWRXV5WkM4Y2lvbHJVekpRYXZu?= =?utf-8?B?THlDdDVRUjhXZ0NydHZMOFpwQ0E2WXpnVmhKaFprRUpkUmhBaHlrSUVBZHQz?= =?utf-8?B?eHZWczVULy9iNmRqbXU4U0Z0YldRL2l5NVBYaTRjOXpWMDkraE9HaFp2OE8v?= =?utf-8?B?UDg0NVdBNTdyc0o5RHdyeHhzTFhYazlxMDVuY0FLQWcrZ090M3ZEcE51R1lx?= =?utf-8?B?czlPQnJwd05XSFdZdXVtK29iTDVtOERaUVhudmhYQVBQZ3Z2NXcvTVhxM0Nn?= =?utf-8?B?Z3k4eENtWkVBeXU0Uy90QzNwMVFXNzFmM3loYlNVSTJySlFlK0xXcW1tMFM5?= =?utf-8?B?QWRIL1hpYWVUbythWE9IZzlpSTY5eUZWRVppWWVZTUZXSGx1bGN1dHF4L0hD?= =?utf-8?B?cUw2L2ZZeHp3Wkx5R2RSTjY4WmVPTnVZYU9lVEZqT2FJU0w3cGo0a0d5eEY2?= =?utf-8?B?M09ROWwwZmVHdFNMVWlpSmx2RHZlTkZPSWFaTmJuNzRQeXp5SXF1M0ZoWDla?= =?utf-8?B?SEovZzUwRDFyWkR2WmVqMVhUS0RCSGZKSVcwYTl0QWJEYWluRmpiZ1p0ODli?= =?utf-8?B?azlaMmdyK25KZHdzeFBZVCthajIrU1JBOGRaU0x0OVgxTXA3N0xHTkZ4Q1hF?= =?utf-8?B?NHlsNU12YTZZMDgwSStwVGJPWm1pcWVDV1RzMmVKelk2RFY5b2lxUjBFaUVY?= =?utf-8?B?anV4ekFNTXNjNjRhMGdSNVlRdDBRTWhncTY4bG1pTW1yQiszNEJzeHJaeThR?= =?utf-8?B?RHdWNExxYlFINTd0L2EvL3pSOFEyQUFOK1duNjE3amowVXZoUlYveHlTN1RS?= =?utf-8?B?dmZpdHBrbWp4b2pkaDIvVXIzcUdzKzF3Y3I3WDNsaVVIL01aUXQ5SHlYcGR4?= =?utf-8?B?Y3NsZ3ZmYVFqT0xubzJsR1g1Q2M3YkhhbWR5bXZVanVSRVRiQUZBT2lmbGJL?= =?utf-8?B?NHFBTGZtUXFHaWlqWXFPMytXU3Y3eTM3TkpqWUFIcnRJZ1ZrSTBCYmZFMUpj?= =?utf-8?B?eTRVTzFidjhkRDBIWnRhR2x0c3ZEQ1FnMldiSTZRUFNzRFFQRWlIMGZmNnpP?= =?utf-8?B?bXU3bWZsWWZNLzcxcVNNZzFtc3BpTlgxUDV4N3BQSUswT0pDQnA2aVBQRHJh?= =?utf-8?Q?t/II2/Or8MwQKTez?= 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)(704161411799003)(3072899012)(2092899012)(43022699015)(6059299003)(12012899012)(82310400026)(5063699009)(10067099003)(5023799004)(19002099009)(6133799003)(55112099003)(16102099003)(22082099003)(57112099003)(18002099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: l7xdoTf2bJoQ+ujELj9UA0v6isMTGm16mY2v0w1HIpFbNNfEhxUTAL5bVfQIE3XKhdcTeKT9vvE0uQXKgNHiksVX0v+20k0ybDRj6D67J8+m/pd958rwE9kGCS2kS/nxUwXA2QNSFb8cv8zQIFARVLoRBVj8gm6wdh6oD3mWhyg0u/Xo2VWrkaUoQxhG5eCjVpnR+JU4ZHqEo6VlAzZgDuyYwuJ7erDkTTZi7Q+mRLl5d1rS0uxzj4pVvVHVz6W7CHQHn+HwIj9Xjbv8KLW5cjG3yugs+CrOemFEDWq3Rs54c0QJFIEK35IPgnXFxEPcbwLybK/u4GZOj+qHrPtuLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB11564 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:42.3573 (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: 3d75aa8d-d309-4348-0da8-08df07691580 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB3PEPF00008860.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: DB3PEPF00008860.eurprd02.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: 0647a588-9cab-496d-c53f-08df07690b9f X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|704161411799003|82310400026|3072899012|6059299003|35042699022|2092899012|12012899012|43022699015|5133699003|18003699003|19002099009|10067099003|5063699009|5023799004|6133799003|55112099003|57112099003|22082099003|16102099003; 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)(704161411799003)(82310400026)(3072899012)(6059299003)(35042699022)(2092899012)(12012899012)(43022699015)(5133699003)(18003699003)(19002099009)(10067099003)(5063699009)(5023799004)(6133799003)(55112099003)(57112099003)(22082099003)(16102099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:42.2003 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d75aa8d-d309-4348-0da8-08df07691580 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: DB3PEPF00008860.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5686 X-MS-Exchange-Transport-EndToEndLatency: 00:00:03.6208117 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?ZzQ5dTkvZi82bDBHUGJmd1l1Uzk5ajdmekYySEhoNXpsZUVJN0pZbnFhSDVr?= =?utf-8?B?aFhNUjVyZTJ2dkhQcERXQ1FYUUdURCtwN2hWLzljTzd6VUIweW8vWGp2bStO?= =?utf-8?B?a2NvUlZrWjdkQWE1RGZ1M1NJaXFDSGk1TmpnRlhoSlF0RTlJWFZmVXRENTJ3?= =?utf-8?B?TlJSQjhiR1FBdG93TEovdE85ZHkzaWE4WEp1SUUvYmgvbnZzbk4rTzRNaCtN?= =?utf-8?B?QmVoLzlSeVpjUE1GK0tXaG9nYmpZRDVvNWZrdWh4SmRxS0dCem9vVVBPTXpq?= =?utf-8?B?bEM2eXh1STQ2UUI4bURFWGczd1NMdmdCSzV0cU4weFRNMll6SlhFelFPbVpn?= =?utf-8?B?eXpYenIxQWxCelR6MXVnaUVzeXU2bnkxdkdxbk1qK0dqbk5iTkRhSFZNRmJS?= =?utf-8?B?R2JtNU9EQUlZWnZCM2FocjJsTE5kb25reUlMK1N6U1Zva0xJUkxRaXlIRmlp?= =?utf-8?B?c1pHZGJKOFhYYkljTVYwb2p6R25rQ0VEZWEvN0ZuMW9nZ0NDM1ZXdGkrWHJm?= =?utf-8?B?T0pvTElackFwSEVxSlpsS3dFQVpueEhXV0JDZEZaMWU3Unp4clUxemVMb0g0?= =?utf-8?B?QU1GQ2tSbzMydFpnMy9HOVlldEgxMzJhd0U3K3ZDYkJONmJvaEllbCtUa0d0?= =?utf-8?B?L2RNV1RCNlRMRWNzbGtlL3ZSTTlBamVBQUVyZmdHazBabGFCYW1GeHhRTEpF?= =?utf-8?B?SGU5SVJGL3o3dTE3N0hkT2R0bVRBWTkxU2pYblZXSTcrTmhhekZJZ0NYUHR2?= =?utf-8?B?T1NmU2w1bFd2NTEzblU3MExpcEVpZTVhcmhnenBxY0F1bUNodGZkdFhhcFhR?= =?utf-8?B?NVpwc3ZxTEhoRURQY2NUZStUenIxakdOMHZHNmFmZmprV3J1ZWZXcVNVT2NM?= =?utf-8?B?Smp5bURWZHd1cnFPZ01ieXd2cDlnR3o5T0FBbTZ1NWV2dHZuaWNpb2M2SkdX?= =?utf-8?B?c1FMOGV5dGR2UDhqWVpNaVBYcDJEdzVIYVlXVjQ0YTNkM2hrdVZBdHdxdzQ5?= =?utf-8?B?TzVRNkdFZ3h2YTBRaEFRTURxL0w2L0doUHFycDNvYmdBV3hwWGpJWFZ0K2pa?= =?utf-8?B?cDJweC95czRXR2RHRW8xNm5CQ1RmMk1vZWhwUldZN2ZnS0VJZ1RXZzA1NkRJ?= =?utf-8?B?VGNib2R2ZUJjZ293a1JQWVp2K055MEpsZk5yN0lFajFTNEpWUFJnZ0JNSU5j?= =?utf-8?B?THpHa1pINWRkQ2ljZjZTZjFsMWpsKzVSajU1NEpXYjlvcjhiclBsaC9VdzJQ?= =?utf-8?B?RXpXZHJzZVpOZXhpRVZ4N2xEZEhsM1BtdG1KT0RMNXhva2hadmhBVUZqeTJ4?= =?utf-8?B?VXI0TEpmRVpiazdyWURtbEdkS0RjOUcwKzkzMFF1UE9ZRjBGdWZCMFBIRjdD?= =?utf-8?B?d2tTa2VrYzVFN0FQWUplWkdibUJhYUN0cW9SMndpY0tXemFYNzlyNlRlNEFR?= =?utf-8?B?U3lyUnVoNU9CZWd6amlBTE91NGNCM3pMMFIzTFp4RkNWT2J5c2RPNTNqZEt3?= =?utf-8?B?amhud2F1L2FYY08xSnVFN2lKYkp4ZGV6V1JFL2lUZ3BxdHN4eGNNYVRBZ2Nq?= =?utf-8?B?QWQ5a3p1cWttQ0lUNVMxbk1EYWJuZTloMUJZSlZuU1JBdTNIaWJzVE5YY1dZ?= =?utf-8?B?UTA1Y0tuTjBCcGt5MlJ0TDVQemo1ZkJ4WlRnb3BwMmlnK1l1WGZvRFZzc3RQ?= =?utf-8?B?TWx3bk56TmJxeVREMjZtdnVWVERoYytTM2ZZM0NHUGh3YWVIWk9aQzB6My8v?= =?utf-8?B?N1JZOWYvQUN0NVdWZVBYQURwSEpNSTdhRVAxTGJSdlZ3b1h3L2MvQUdYcFRp?= =?utf-8?B?bXRXWDVpdXIzZThValNTdXE2TldxM2RiYkN1OVR1dURETWYyV3N5QWJheVF2?= =?utf-8?B?d1BRc0Rza3Z6NXhPMVNLVDNOdXpCSlNCRGJTTDFERzhLVXc5U3k2WmROMC9D?= =?utf-8?B?OWdUbzJQcklGdW1GclYrUnZEYytUV3g1REFNV1h4dnVrS1FXU1Q4UkxtRExQ?= =?utf-8?B?TUtYVzFiY0FqZkw5RUlxTW91YnE0Q25heUk5K2UvSStUYTNyMXZlcnNTZkpo?= =?utf-8?B?dFUvck9QYW5jcWlPMld6UmkxS3lnNFd4UmhtQkM4amlvaVhucitwMDNSN01W?= =?utf-8?B?dnJIQ2FCaTc1bFhkaGE1cHNsVkI4OTFYbUdGVGhjQUxlKzFTVm1pTHltWWho?= =?utf-8?B?bmpZbE9IZXE0YnE2cy91TW9nRXV3NTd5SG85N2E0a29mb2hpTklVS3NWZ0Yr?= =?utf-8?B?K0x3akIrNW5sRi8zMkphUzdSY0lSdFk5NG9xa3V0M3NKclhzcXRIemVRalNG?= =?utf-8?B?cGVmQzJwYTNpZWJSWm5PbHEwTGdYWmtrd3dMK2tiRGtzYzhQekpOcWwzRFFU?= =?utf-8?B?RU9CejFZNW1mRytqUGl4akVaSEtPdCtTMnF1OXp3aDhEeXBOTzQ3ZW9jcUVE?= =?utf-8?B?ZnVZMXkxMi9hL3o1aG1sblFVSkltaW84NStpMTZ2Zm03OVRwUTVmZmRpMkFX?= =?utf-8?B?Rit2cWlIS0lYZFE5VExBQnc2cHdteFNEaUE3M0EySlhhSWdDaEphalNnSFRK?= =?utf-8?B?UUJOQWJtb1RGckxmbWhGY0RFVkY3d0thbStGVnFpejNncWlNUGpHZm9EY3hs?= =?utf-8?B?WmpWUm5jajB1Z0w2RTZpeG03dzJ6eTNoSll6dHBQTUp0cUwvTTZoZmlaREx6?= =?utf-8?B?R3pDcVQwLzVMUW9SYXhaR3d3U2VBSVJyWnEwN0R1T2lzNy9UbGdCWVdweDhC?= =?utf-8?B?eHBqZ3h6cjRxNGp4cG0xQ1dGWnZMa1BDRTV5OThXdXFVUGoxL0pzbGUvaThW?= =?utf-8?B?SDFkMTFhay9jMzJiMW9uSkQvQ2V1NHAzNW9URmhEQStFMXRvWSt5NnNKUDJH?= =?utf-8?B?M1B2M0pHSWZMektRVFR3RWo3OG1pT0N4eFNPL0N0RUlXaU9VQ2RFcVBraEcy?= =?utf-8?B?UE41OURCM1VEY1hBNjZhYXF3M2NqRzJpRExmZEFxNmg2MzBoeTBiNUg2YUl1?= =?utf-8?B?NDluekxRNjZManR4K09xS2Q0Z0RuSG11RU1QcDNscFk1QlRlZnRSaVNRcDVT?= =?utf-8?B?UmhJNWlwMEVadkpBd1dRQ2RaTWtvcnRZRVB5ZUpNcS9Uc0RQVlVUMGV0TnFU?= =?utf-8?B?TGlxajY1d2hQWjh1S1V0b2JtanhDdXB5WUp5UjVUTXNGb1NJWHlycksrWWJH?= =?utf-8?B?clNPbDBOTlJadzdYVUdxQ3lQZnpDd0czZ0lLenRMcW9UZmtROWx5TWIya1JN?= =?utf-8?B?d2xHYmF3d3RFSFZmMzdYSW9uRE8xMmdQUE5mQjFKdWlnbG42aENlM3FUcERY?= =?utf-8?B?bXZtSzdzVWoxdytLUUkzYllYdzVnOHZqTFlsRm1Ib3NuWlZQU1p4K25kQlZ1?= =?utf-8?B?cFVGK1lUM2xxL1JhMnJBT3doTi9nOFFuWVIxaFFIcktrOWRMZys3aWRROEp4?= =?utf-8?B?bUUzZHU4bjhtVEp2YXJUMmhaaklMQ04zZXViOW1NTFFkRXRqeU5xbkdqWnpL?= =?utf-8?Q?h5mPkIJo33WnkvgofrlcO2wGJzD3k8g7bGGNmY=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