From nobody Sun Dec 14 05:53:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1764756266; cv=pass; d=zohomail.com; s=zohoarc; b=SgolDL8kGOSHRNaDv+BG+V2BSiUVAbGaD7QrG5QOmIFItggcI0GYT3VU8c5gqhdlpvyvthi1tBs3oDL4ltKYi3RTR5r0P3PjbeOkHAtKs6M+8QpDgVTL5y0GXIObUrmb84UANu4Vxu08y5Gg/eVuFuaoOD6wnkK/XLELkwMSlQ8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764756266; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=b6vuXBj0iftB1FSlsAvcYTTwMB25XsaCAqfvt+3WYW0=; b=n4XPFE1eqxed1yVQYaROiuZDGdOFcWS3LR2Vhk8O+U3HXKNk4UhE3I23n7H34pPbcwK6jBVAZINTtMoJNXc1Sv9nl6sIYCJ9qcbx/QgP/DVv0VtlZ67+NYHITjftkMwOKndZZ/wLvFrlZNYcUT2xoQgIh/DKicCW2NWuanM4xMI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764756266397911.1051924221887; Wed, 3 Dec 2025 02:04:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQjht-0004Wa-0b; Wed, 03 Dec 2025 05:03:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhr-0004U1-4N for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:31 -0500 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjho-0002yU-Ug for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:30 -0500 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B37xXUV834742; Wed, 3 Dec 2025 02:03:23 -0800 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020112.outbound.protection.outlook.com [52.101.85.112]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4at4909wwb-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 03 Dec 2025 02:03:23 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by DS0PR02MB8927.namprd02.prod.outlook.com (2603:10b6:8:c9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.9; Wed, 3 Dec 2025 10:03:20 +0000 Received: from CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51]) by CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51%7]) with mapi id 15.20.9388.003; Wed, 3 Dec 2025 10:03:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=b6vuXBj0iftB1FSlsAvcYTTwMB25XsaCAqfvt+3WY W0=; b=X2RmZ23fBRh5SRHZz78t9ErCsaZwP4pX6mclrvgkPMJ23ojCUrFWyg5hu zxNcSJrSS3aBRk/manBcG8RMlzSN5hVdrW1f8V1JqILkl0U8ZqVe/s1bPDIo/gHj XoBs63CD2T2PttJADy5SiDSEcKA+R8WLf9GDKJaGDRAMQSGgmNZOaBMSYR/vQIgf bKpF/KBkQoi1fmpX5fsjLBdm+BenAEIWbVBB27oU/BzKxUBv4XS797Py2KFAgBB0 fhLwk7WLIzKX1jBv2nfUY1eeWG/jKIx5esDY54BRli7gbkY3q7QF/PUcLCLvkqNQ RuIxfUC+QUyBQXgRzjvRtVFGX18eg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d0/2F8m9bAM+SGwirZZErXM/2XBvwuEaA1YABr6AuyGj4eABeZb8l7jxQgY72uGVGyROEnpU4UtVKB55l87TBAFo6Pj+8a/EBP3PNsFVzEvjOCXUUBSOvDq4GUuYpIvf71gPIuuDp8htb9ZGuXiVR5VnyNMbkPp8XwJTU+4uAxY9mxsGMK6diBoqAwuFiP1TgLzV0hWDiwBVZmnqIzQCWhVHwAJ41g/XnJA/nk4Vwt8U6UHeLbYgRrX0Wwusd+lR5FbIjlRWutTAPDY45beUB1VPpLlmkQzfblTtGs3NkUvFmuPFijze1i34ZhIBbc70We7GpZDkt0RE1AUzqBzw1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=b6vuXBj0iftB1FSlsAvcYTTwMB25XsaCAqfvt+3WYW0=; b=muLjNLMnXBNKXEDpKi7SEdtYql1z6x5PjQqAJzcQyxHPsZeEyfamS3ym8iNMYZhx0todpU2GgecKzMHcgXDWct5Nzktz6vfBBQzuw400qC2J22vR1Abtjhz6etRWy8VhpAdpgICfIxgCtq4TCz8UOWEBSPg++PT2BEeKsBZn9sSe23Woof85+ZpJ5t6i9gFnVoDxJdR+FiRfzzRMfuyaROHqRt/H1r+SFokBfLKvO8+zE2mzCtavaKsmqabKp7hV+maUUH7hhr4Mix1ao+012R7b29iJ8JL1ZfZL0fz+hZCr7VisCQZQBVKFmEXvsqQ2LtgUzqP/ZXxvzMOuTJRnAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=b6vuXBj0iftB1FSlsAvcYTTwMB25XsaCAqfvt+3WYW0=; b=Q0IdA9ys2hLNQCWUGD2/eglH74pA0OHEMrg0raT2MtXQAxnyGnUKn34uA8Q62iBeifD3p3jl0KQjaqKQhzdJry4Z2HkneYuBUWeB0H1FlhiiECFR07LQVE95UfDmRGpGu0mLflsjuZavMYZ1udYPPnTTqTZAx/lZtelT1JC2imoQDwtOg0GHLrFephzR40wdnamn7Zni4CnngLTRtBYLhdOJUbiwl4iNqPzn0BOliGBvnY1qHT/OPgHaI16lV+Gim5Y6lhapDihbd1rj8aczgg6GwNstE4sOPSxp3Z/x11m4ZbiGfqV1joQwFwIqdt9YJ2R2DzPv8Lchgl4aOMi76Q== From: John Levon To: qemu-devel@nongnu.org Cc: Peter Maydell , Thanos Makatos , John Levon , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v4 1/5] vfio-user: simplify vfio_user_process() Date: Wed, 3 Dec 2025 15:33:11 +0530 Message-ID: <20251203100316.3604456-2-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251203100316.3604456-1-john.levon@nutanix.com> References: <20251203100316.3604456-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0456.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::11) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|DS0PR02MB8927:EE_ X-MS-Office365-Filtering-Correlation-Id: 675a2028-ed0e-4096-8682-08de3253301a x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?aD4/msJreDOnjVYSBUHOUgwXhOHtIniV/gwQmLeT9jzq2G0C52D7a3i8k4co?= =?us-ascii?Q?jXxbMMq3BNwUnHpN5qc+KhsyxET4/kfxGKkmwF0SDA04Y3E0PoEX9btdAUFO?= =?us-ascii?Q?Ixl9IyZkHbmduzKhiPEpgH2tBb0UXELiPBMDg7UJ896xNJCYTBI1zvjvwEd1?= =?us-ascii?Q?mdJErfL0uffr4Dt8vTjKP6ktUKtVsG5riNMWVebcWCcdc7jOlonOk9XaD/GY?= =?us-ascii?Q?tfw8V9YQlNvN3A87qMBIHmHhneT6NI+aG4BN6jE+b+f//bdbANnFhbwjm9LG?= =?us-ascii?Q?vUirPii4dzXRBhaaMG7WR2dhK3u3ESgfNmZoZ2bKUwh1PKDlplWWeVuLolFS?= =?us-ascii?Q?uyt7OJzlUsojkzK/veIr9s5jsudOxBGuqRhh1tBnTs5zS4hY0ko5QgjDQDfL?= =?us-ascii?Q?hQLa3y0YIdv0H+N7M2bBwdy/xfausY5TWxmTq2WyJzF1EUvHy4IilcQI1Qt2?= =?us-ascii?Q?ZoxhYEU9NxFqw/joDKAPEhpAA4sKY2EsIBS2e/DlfyE403o+X8wNY+yeECdb?= =?us-ascii?Q?xoPGF0dNVVuWYDigIHhOBDn4Hmm9hXIahLMrpXS3P2z4lTdn22FpB82lg+ZD?= =?us-ascii?Q?LM9KIfDy96/1NLsu7xY2cxW0IDH/Cs9amfrswVdTxQ6OGI4lg7xshE8CZnZC?= =?us-ascii?Q?xXQ9ESR39ujVccvQ6u+7+l1CIARWzDrNsSws1dUGu0lh3wC6B2kD1/f2m6yJ?= =?us-ascii?Q?U6pl4w0GN/FMkNCeV2hPF4GbR/140kjyuU0W+fpWiMX6+3R8rVRUyLXfGyAU?= =?us-ascii?Q?3SLtit4w42HrlzJUNgeh8mC82My9a7TXS5B0FL1FeMLw0CZxQbXzPViHd350?= =?us-ascii?Q?DKWWGbCASZY9wtD6BaOF1zcd9Lqyn9K5a7xk777OGInLwUet3hDDfhUCwAXM?= =?us-ascii?Q?rB3vpaqDRr1iEMKhG4AoS3y3jBgouMdkrG5/Wpvm7eIjNveTX4z/Xcd2LLBK?= =?us-ascii?Q?faLyk//vhCcyYs7IADxk9JJdH633dNzGLomrP6tzdWlEyxIoTp+8720+47k1?= =?us-ascii?Q?FSbfVcg37wXHwAoEz8iBEykKhrkAhUdFsbxGFkkQOGWKeNSrXlsqZRaClb4t?= =?us-ascii?Q?tJc10nk6ubt+uHg75sKTI9nDe1w6Z5BY523SHJPhW+kgMIAj282Ssan3/fL5?= =?us-ascii?Q?q8KQ10s+p5TrdOGHKkw+Km40HvnkfRR6LrdxgZadb9fHe3LjQX5p9s7Ufuhs?= =?us-ascii?Q?b1dTyIfO1bjyzrveAme41ygbCl7YPQi5Nq8b6G+Ha6Ur3TBJPf7/Vave9FA3?= =?us-ascii?Q?G1u+PM2BNBfjW/myiQrIoWiM2Y+bqRvrzhffufxC5ga3FpaW4BspKnZo/uRC?= =?us-ascii?Q?EuqYeaqm5mREp7hQ9ZyKo3+/gUH9UkwXPy6r/zaN2bTj5kw6R9Ekz/9GerRI?= =?us-ascii?Q?Vax4r25dVynUIe4o8cdr2LcfUiX5BUidpZm4FPd3UzOLynz5t7zBTNO76Kc4?= =?us-ascii?Q?iE58/qbnx+PZB7rpMw989Pflw4QDDMco?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR02MB6760.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Q/kUrYJq4/SDsLjt5FdcfvZg1fgqCdWVrUGJPErdYjfmHtLY7ps3gjl1dcG+?= =?us-ascii?Q?ksvHhKTpfqQ2S8Hz9716M07YKZfOCh4cwyJjw9ey3C/26dlnYm4TJzXN/IwO?= =?us-ascii?Q?TRysVImw0P7CxdFNrW4QuIttwcHHETkNuQiWNAw5g3keuyHHqkHCnyhqh95A?= =?us-ascii?Q?5EVsb4jVH7v2v9sRP2H1alHBePzV2hHn1bGdCle+jpJ2bNU97NEX6Qglt0pT?= =?us-ascii?Q?p5KlgoWiPOtP1ZNyT3Nv2dLTxYMtGd+DQgv98TJjQ0iOd2BrxdDeTGH+9i49?= =?us-ascii?Q?wnWeFdzxxZLovQHA6l1JKEfSJhcQJVfR4fw/W78oC5P1iicgnrzDbdtqfxU/?= =?us-ascii?Q?aER8Rf1ML2cfnk90u61qeCcvuINJ+meRqTrtt34Qjt+f5G6o/EHYShWyJBhi?= =?us-ascii?Q?K5Owhk4TnyK0ZMqdZWz9ARq4Ika4yCG16nBZzIl8qL+neZvYzRR6L2j38GP5?= =?us-ascii?Q?IPvbM0FDm550H0e6BhQbpFp44ILSt+hT/gOK6gmFFMiEazQJsj8GMMhwDMFp?= =?us-ascii?Q?NEZeMcyIKJ8tfTmoYyDOSshGVdxGVSlAWXxwsvkg7T7Hl3Y/YhRs4s/IbNK9?= =?us-ascii?Q?I/uM5xmEfyIrZhFIfVsgMXhbVmG4iP6u+Up0wSWeAB4TcLILRxTjncpdydZR?= =?us-ascii?Q?bWV+TZGLScdVbZGwR1pIt24zSFQ6s1zMG9ZTTwDeEWUmzNnMIS0sqjtXROKW?= =?us-ascii?Q?f8C27lLUgA+Y+FWe7ArjehWejU+DJ8m+2Us3cn85fn1jsZrO47qGW93K51Tm?= =?us-ascii?Q?NLtx4aeag+Y/XOFQTCGKpo8Z4r1b6AZ8eVMjCT47ovNQMLEGzjFFtsbbdeSL?= =?us-ascii?Q?99Tn2QFd1WgNjwoRQxVSk4UaJ9j4sIkJnFLsCSLDiXfDvqx7XS5Jp6zINwMH?= =?us-ascii?Q?s4SKKYYi1XDctnwDs+t7cwPcQyiQbIJ9QJnbWr2nd6KOjgnOLZerrfWO66V1?= =?us-ascii?Q?vDXSHPIZwnmGxJNr+ciJlMN0r823N4VguOgdMgC1970V757Or95bMMfkHvvT?= =?us-ascii?Q?rG32nB3vz6BobknJynmsXHxPP4BSBhYsOj0vZkEo/EOrxdIy50aBWntkPXvT?= =?us-ascii?Q?Fg+H1EiVfTbXkI38H2mssYXcvgujCKOwLOsDpnbrbqI5ku6Wo9E2ygSBU0HD?= =?us-ascii?Q?2WnTxyUL91jlSr2wQz6Yl2FrYfW9IcMMTeyMmidx0CgDRsBUsv9uWvnnQ1P5?= =?us-ascii?Q?MnO6vn6NEXY7f2m1Roty29LCiz5tJXGd4+ihO4/afVLathFoldi+GIFGSmcB?= =?us-ascii?Q?TOTA6GmIIOTUmAz8Q5yojOjHwa+HKDyRmX4RjHKehZJxSg97tkoVaB7Fm5AL?= =?us-ascii?Q?qsi7CuB+PyQfGPc9tvNz/wBea7bu75VdNPo/uwqThsXCcM3UZR8XpuwzxBgs?= =?us-ascii?Q?ujIdoKo1vp1r0Kv3uUqSEgv5sTH8LDpq2sgMKFz2WBS4IIQytD0I+ip5Y6qQ?= =?us-ascii?Q?jmzJ0CzgGQocgd34a7NeGjbIQ64asXXhG4u1QvA4z4ErbhoZKmhBQy+E1ucz?= =?us-ascii?Q?w5Mo9IGE9uYNzZeX8Ii7JHf95Y0g9chGD2vBfPXp8WBEqYUm+Tco+IHhtYRb?= =?us-ascii?Q?HGPRFaVxcmx5c85go62pPK4VX9y4R9lbkxmxdwAu?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 675a2028-ed0e-4096-8682-08de3253301a X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 10:03:20.5267 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6h8UXOfZn1SpM1UJo4+pH0cGrZpwKfaAh/smhOYs8Ymc3Poy+bsuD30WLiSrQ0kxIC+1mtqIGBJQkTzftY0cCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR02MB8927 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAzMDA3OSBTYWx0ZWRfX+sLYm4UH9r+T scfeFdxwXy9Wtb+9EmTPjmaZI0fjd7O8WqUw6g5TStnTp6+/CppPcoCkkmdVpyB3Df8c6oBYZyI RVE65WoLCwA8xm5pjJI+vUUAG19rnjulxPNLT5VKjCAL/VaK3CMMMVUTYd5UTC+dxyiMUCt2l9n i/7iht7bf52ndAcEZ2hV5sCX+YFZztRGOrLLQVMadFXBeP8Z9cNNpxQ2VceT4vg7zsw37QQ7+0Y QD7nU6xzDR7eWcOcoSEwc0K2kvCLUlJH7NEKYOifQLVAknmooEwY60ASK7w6hyx+gI/hX/I21oS 3/eqaOEJFCT57FgAmSb/Gkt9SiUYWUJsK2TG1q/TV/7KbZnTxpXQk1vW4dPLKGjLhLYUBwKPvnz 5rgFcPQJTLm7x6hip1EfRCi4SNedDg== X-Proofpoint-GUID: hc3rFn-xoIo2_sy2bc7mzuBqmw9IiGUc X-Authority-Analysis: v=2.4 cv=Gu1PO01C c=1 sm=1 tr=0 ts=69300aeb cx=c_pps a=1sVWB/l5Kn3omZIicXSEwA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=64Cc0HZtAAAA:8 a=v8IRLEuh6JSOYo15BCQA:9 X-Proofpoint-ORIG-GUID: hc3rFn-xoIo2_sy2bc7mzuBqmw9IiGUc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-02_01,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.151.68; envelope-from=john.levon@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1764756267739019200 Content-Type: text/plain; charset="utf-8" It can figure out if it's a reply by itself, rather than passing that information in. Signed-off-by: John Levon --- hw/vfio-user/proxy.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/hw/vfio-user/proxy.c b/hw/vfio-user/proxy.c index bbd7ec243d..75845d7c89 100644 --- a/hw/vfio-user/proxy.c +++ b/hw/vfio-user/proxy.c @@ -147,8 +147,7 @@ VFIOUserFDs *vfio_user_getfds(int numfds) /* * Process a received message. */ -static void vfio_user_process(VFIOUserProxy *proxy, VFIOUserMsg *msg, - bool isreply) +static void vfio_user_process(VFIOUserProxy *proxy, VFIOUserMsg *msg) { =20 /* @@ -157,7 +156,7 @@ static void vfio_user_process(VFIOUserProxy *proxy, VFI= OUserMsg *msg, * * Requests get queued for the BH. */ - if (isreply) { + if ((msg->hdr->flags & VFIO_USER_TYPE) =3D=3D VFIO_USER_REPLY) { msg->complete =3D true; if (msg->type =3D=3D VFIO_MSG_WAIT) { qemu_cond_signal(&msg->cv); @@ -187,7 +186,6 @@ static int vfio_user_complete(VFIOUserProxy *proxy, Err= or **errp) { VFIOUserMsg *msg =3D proxy->part_recv; size_t msgleft =3D proxy->recv_left; - bool isreply; char *data; int ret; =20 @@ -214,8 +212,7 @@ static int vfio_user_complete(VFIOUserProxy *proxy, Err= or **errp) */ proxy->part_recv =3D NULL; proxy->recv_left =3D 0; - isreply =3D (msg->hdr->flags & VFIO_USER_TYPE) =3D=3D VFIO_USER_REPLY; - vfio_user_process(proxy, msg, isreply); + vfio_user_process(proxy, msg); =20 /* return positive value */ return 1; @@ -381,7 +378,7 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, Err= or **errp) data +=3D ret; } =20 - vfio_user_process(proxy, msg, isreply); + vfio_user_process(proxy, msg); return 0; =20 /* --=20 2.43.0 From nobody Sun Dec 14 05:53:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1764756255; cv=pass; d=zohomail.com; s=zohoarc; b=AkaTRSBdV2EVsiDFDlaypIiWDWs+5ptOXi8XfA0cmHhcqCY4aooVrGY9S3Yl+VZ6Ski8pYpk0pI+lZI72fE8GqKgSg7LxbKwmZ/mqgMQGp/oiAiByMZMHQMhR/7X1QjiPWHuK4NTFQEECM9y+3KGR8UnQQvQYPaiFbaMC69v/lM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764756255; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hUg8MCOdkRKztLz01jIic76so/Ql/SYafk+7hRerE/c=; b=E79IwbZXWJCyOXxwAe4TVCfYBErTJRI+2bK29A4cFziFxiNDjgdu319beYZkkIuL42NQIM1e8ciQXIuLSZdhyiX9syJwBCFzExzIBAYbdopzVE1DdXuROI0VOjPjQC22B/cMW2S7TS+Qz/VYhYITW/UcXuMx5soLM9TS3SLrMJo= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764756255677364.26292664322625; Wed, 3 Dec 2025 02:04:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQjht-0004Ww-Fl; Wed, 03 Dec 2025 05:03:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhs-0004Uv-8r for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjho-0002yV-Vb for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B37xXUW834742; Wed, 3 Dec 2025 02:03:23 -0800 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020112.outbound.protection.outlook.com [52.101.85.112]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4at4909wwb-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 03 Dec 2025 02:03:23 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by DS0PR02MB8927.namprd02.prod.outlook.com (2603:10b6:8:c9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.9; Wed, 3 Dec 2025 10:03:21 +0000 Received: from CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51]) by CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51%7]) with mapi id 15.20.9388.003; Wed, 3 Dec 2025 10:03:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=hUg8MCOdkRKztLz01jIic76so/Ql/SYafk+7hRerE /c=; b=1SjG4wEQ/RFupYrPiKya263qJJJPVEDH+l1IH+MGRQ/tfU0WlB/9igkeB wANO9FJZXM7enjIKWqueZ0/o22pd83Rj7eu1YPlRjHGU0FpmRULL+w8QaFZeXUTz q4HoGbW2bdE9pUOKef0oFdqTpd7prUCdmOyyQ2Trc3IRdBauW/9IeusLXeI54YJL GC7kYwX+shgha0bBT7XiaM0qUh/iX8e27bj9rUhtIU615nlTdKXCvhnpOAOBgnNt F5R8u6Lw7IirbBdZc9mLrlUeZ2rfswD9CZocvLMsS19a7dSvXnSrl2O19AFkVdNt rTnQlRfuMoQ/UP0REDtrLWFBtAatw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=c6MZ0rMxkXx3Pk7I2cBrxsW6c4DiBIX9VM6aoeygTsfHQFpN7EZpb1TH2e5o6xx+D7ngE3KIlXKke8XNWHwCNMZ2x+NqQpq2OXqIKEy013JduI3TN2vSiASNYmqKJyOor6/VMNi5EnRZLNwe7Yg/LIxnUlyZraGTNwqGGNDX7Ndrhj8byMUS8M4pO00OH0R5aRaAhu9+LO293N3Sj3cwwYWOsXtympNk59gGGBzyEP0EMOzUH2ZJCL6p8ZTfUi+1OX4dYfdrgm6RpUqdARu+4QbkkY/9ABRAgPEFFX28s74fQFQJsPSmudJdHmyuhJiIJcrwp/S+45KxyfEY59+83Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hUg8MCOdkRKztLz01jIic76so/Ql/SYafk+7hRerE/c=; b=H+qffcJhi5aMlFkFCIRBLkcdy3egpPp/L+1Z9MU/9x8Z6cN+86iEnBaD+9MiSg449XTq4zT6s729TRMalFqz+wUplwdhtdiXhBT/2uxf1GyuKAp9Sm0P4Mvu57ZknbDTz0sPTTtg59H0+xLO3l2myk8BCVfY5ycwFvU7X0Rk2DRyCNXmswo3Q8wdlOobOT1NNWCmA8xlBejwS3/fXYHQaqfrC8B/nvaKkkyOhiKZ0izbZFGhOtBoODtrPYBskRVH9eDuZge+yZ/5O4fCVYYPCX9+Kz8lQuXqdPieUnhy5k9AuaJpls9Zw/JtvdZY1YeqB4wKK0sbNYHr8K+RxzNXIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hUg8MCOdkRKztLz01jIic76so/Ql/SYafk+7hRerE/c=; b=cBmepbVEuGC4dlg1+KCfANiJIGBVtsvBtcKcWhsXJPh1TNXiu+My7Y/bl/wumw40ul6R+VbIRBvsW56Y7KEwKDpFIQQKRhvfV7FIK+fOsgudMwjzBKcBKwdSqkcvc8PlOvkDJFaE2C6f1hIK8/8tTure5eyb3phey5b9Jlmhg3EyoW1WcZyiNQzB8tTv2NKdcuTnA6m51nAaq07377NfUukjmoVKs3C+vAK2S7mMSlry15N7QYGxza+pk56v9k4bImlzdE1DvbsveN3z6deTxMhzJscrw9f1SVL9tvgNnfVSVmHmF5cj1a6aIgu2DuBe4puXjrIdPtuLZNmPixvHDw== From: John Levon To: qemu-devel@nongnu.org Cc: Peter Maydell , Thanos Makatos , John Levon , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v4 2/5] vfio-user: clarify partial message handling Date: Wed, 3 Dec 2025 15:33:12 +0530 Message-ID: <20251203100316.3604456-3-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251203100316.3604456-1-john.levon@nutanix.com> References: <20251203100316.3604456-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0456.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::11) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|DS0PR02MB8927:EE_ X-MS-Office365-Filtering-Correlation-Id: 8bc049ed-8add-4d34-bed8-08de325330ca x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?dAuompRWi83nBp8IhdO+SW3AeivTdRiofdx0k8zSaIXcZXZ+CGCejScgrAFH?= =?us-ascii?Q?V84TVQ2QlDV0o4DBkd22138P7UVZ/+BPPaaGSeMxF/jeLN3sL9tFBdz9MmQI?= =?us-ascii?Q?I0zeE8pB/wEdYHC+j4h7g4Du/FJoghtfEWFLCmbdhJCwH4moqplGuLPqazdh?= =?us-ascii?Q?s9WN//ZqPA0Y3ZzLIhos8RUbKrTI2ItE+sFI2SQU8kvf4zMVnFN+on5R8Fvr?= =?us-ascii?Q?8kEaQUbSYo+UIvYF9nh7JN22w63TBoxsxCm0FcLiRSRmXKGWpZZ1z41tlMTi?= =?us-ascii?Q?xKZxnIF/cBBxVUifAIp4T3AxOcmnFTQCN1+aDP+R4URQUGQ5/jcoYqQ6M9mn?= =?us-ascii?Q?nSZSNTTSf3ITw+eHeg0h0XSk1Ktei6jdusH56Ri4fsvvOFMxBEcKDEjUnC1k?= =?us-ascii?Q?cWxa1nWXqoc6lTRQbe2viDctVPO2W7BCFWzpMJED4oAkCdE9mtczEvUSquQf?= =?us-ascii?Q?fS4S9uwG+FDINS0EEa+mvP7DUwufveR7Y2mzSvHZjWawWs+5Eep8HRgTKtTV?= =?us-ascii?Q?nkJYAYi0vgglRHYyKOUDdnw6H06kMV5iXFFK88vscinitxrv5JpM/AykIGjB?= =?us-ascii?Q?AV08QJthGaPOUWkB2RidUN9PmilwSrUvzSVye2uqLf5hGeppFRyeoKSYErbl?= =?us-ascii?Q?YSUVob7bC+4PkzaSVexYSVnPuxigf5DCgst5CrXh1AlcP9LTRlt30ErMgvKE?= =?us-ascii?Q?9UKB5NW1LI41MqJ4vwzDNr17yvg4ZuUMZnA9PXf2FCAkFz1Ubd6s/x1OjIDS?= =?us-ascii?Q?Db+VUiPB1a2xcQSeDYofNrtav79y4pT0CHQLBrkTVtnHJSAUFQpw+9i4mpus?= =?us-ascii?Q?JBhVS22Zpkg4VeAXUQaVtnLgWgjnPrlKygDDlFaQ3UUuxwAi/3hbAWortaPu?= =?us-ascii?Q?037ya9iqmEJwBcSaXJ8s3jh4X+h/dlOD8JmnFz/98XqHDqFySSlCQzmAri7V?= =?us-ascii?Q?sRInTjro+lYL4jxaG2MQP39z6Bep1ZC52xmLD5hYTXJwCL+KvF7s5NsHtSna?= =?us-ascii?Q?vbwOiGczi0e9colCx3XOBJZQkFEn1G1M7XFy2N+xytUa1jfO7pVbbxwSFhDB?= =?us-ascii?Q?SZ7lbLsqyABQBT6jVUzEabUSJYhBenxMeFMNGtdSaVaU3K4rhh+7KzscKbkz?= =?us-ascii?Q?2/brsrUurC9B4x6anjsNK62SF097GpVLJ3KRft3MtYCUPUr4vBjPgYLDOz5G?= =?us-ascii?Q?QAFxxHRFzQy9l6jBNpOkQSbgGcT8TfRSBzQSF0SCj63lm5fUB+v0bHktnk4b?= =?us-ascii?Q?QMzd/AafwI186pV6W0cZia4faEzCuyTavOtGHNhpyeK2zv9KmUL3gmjLSUW4?= =?us-ascii?Q?X4m7w63kXpL4TjyiwwdFNnXZpzTbtdeLdvgAzkAjqUT6G060lQHauRzj3K8X?= =?us-ascii?Q?MwHI7MkZz2jQzSZUsZevw1PqE+VmeBVqFRp5jYFPNneFlMKYjD2PtMkqp2Kh?= =?us-ascii?Q?RpJRUPVsQkzhSLb+pllH/zwEIW3RTS4n?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR02MB6760.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yNFVnNJ/gS+0bRVFDclTTQ0/L8j1enxFQ6MrrVFNOoFlKkX8SHnNY4Sr/Dk5?= =?us-ascii?Q?zWBxmIj+SPOErc+FMLPlUVjN1QmyW0FF/yuhOQK+sRydIK7m3xaTz0ZsV3Og?= =?us-ascii?Q?PX8LKnrAHCBn37Y0pOwZEOoOBIW/f9rpI4cEG8kl9+LoE6D20IYGWv6B2XTv?= =?us-ascii?Q?pT1MXSJ6ADyl0ilSv/COohna7MnHrPhBQHE271NkaPqtS0xHPzhZFQjJNYZT?= =?us-ascii?Q?t6ZIztft9zAJhDiFfdEMzSu7G2jWwaYK65If7ES3niL8aquGqUH7TyCuHAGo?= =?us-ascii?Q?e8qXwE3ZaEEnmUcllCzFQdrUT7+gtbDwY0PcxoanFRlBqE76/GAYKdkY1vjG?= =?us-ascii?Q?RmPe+E+kSw0PTmZx1LRCdrZ8kfLEjn3dbFylNYxoWx3hxHMvJ29JS8roh94H?= =?us-ascii?Q?WKNpQqQ05qewr7q5WxwNH4B8ibrR3ZQyVpDygJKJS5NjOnybi+Rwq/1p+PWe?= =?us-ascii?Q?OA2F9CpJ7slOrBDhP+CylTKcJAAFcXA3RlyEjQzwNjFskiHRv6m80c9sHwM9?= =?us-ascii?Q?hhiAIhnCYbql8o4psOMQR8UY4aTOfpVP5I6KfQslrThika7CQxk7nQtMhFCw?= =?us-ascii?Q?2+k+ygq8T/EZWriDq6oyNRIZHHINgi4SXWXfs6tHD9MMJUsGzNN25CtfAT+4?= =?us-ascii?Q?rIpwBtX/Isno2U+hKVpSr5e6u2XTZTP9izAEZfztzIAXakzLo//LIKRqx0Ji?= =?us-ascii?Q?bxE7i3tCpmWbL0ff+nYaHaV6dLKVp6Aboi9wmXsN47N0BS1nuiJcvNpwuLmu?= =?us-ascii?Q?7i/Q3nQ12sicuIuaKMfJJH6DeBzuikbt58NcQvaqee0mPkba/jHhj/GJn7/U?= =?us-ascii?Q?VhRabhAXHYTvVrRn/LxduuYe9ON8d9R/5nUfwcgBBDzvfLInJpejuAWJ6nIw?= =?us-ascii?Q?uU1Ul9uJAQLni3RGaoHo08utjkWi9RaNi93yLsM+FZmFltg2VOMcc3XVA4zR?= =?us-ascii?Q?PjNfk4wNLzkAd4jD7+sQYGNwizXfS7R5E4AlzIGJrQtq6UNbWVzFOBnkmbZo?= =?us-ascii?Q?t21ojHBNC7CgzXMz1QvtH/V6yltcya/y/9Zf2tUf8q7LdzQ/RU2R76qOnByx?= =?us-ascii?Q?hZ6/2uQsyAQ736y988G/IwPZ7Tb8TRPASvuk+3HGYEkhvBU++gSf+SSjWpiV?= =?us-ascii?Q?RH9qspbOFDIfUgArzykRskqvkvpGILE9U9Jed/VbKl3mGx0TA3PV6PXu6UBN?= =?us-ascii?Q?GSHdY1+uBDh0lNOsz9c4Wm0irjHeKYZOlYfJid32604JaYNqGUJfDvvGCbqs?= =?us-ascii?Q?CKzG4XdbQfmbH0/n/LuYHs/Y1Y58pSftcjh86NuKUk9pVuF7I63rAj1xziGR?= =?us-ascii?Q?Dr0hiuPzLlyX0uTfv9GqLh37fO87s77mGEFbIexQWMzIgPNRDWUlourfOxV1?= =?us-ascii?Q?St/oKC4fgZyy9rcdcMQUs4kBFvnRBpWhjP7uoDa/2h+d2Yqu0nJGQ95hZpY4?= =?us-ascii?Q?Jv+eGawevl9780oHd422T44Km+gwQynME/nkcqUjJLpyRmUKl5kk2AlFec/G?= =?us-ascii?Q?rtnO4YIb/Ces9I1cI9+XIKTMek7tTUnO8Zsq658gQlNISsYY6yybiu01P8Fj?= =?us-ascii?Q?uxDJPJHaT9kBV2efyg/o87yrBq3F+dS6E/TwPsGx?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc049ed-8add-4d34-bed8-08de325330ca X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 10:03:21.8054 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qHk45gV2vp/9swHxuk3OnA5PsiTz0/Z5HrWcFixp9885Rra8lwB3uOGM5NaTbak/xXAev2FQKW1DYLKLVNQQAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR02MB8927 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAzMDA3OSBTYWx0ZWRfX8FpuF7LbOCc0 YxZSCbA6BUTNpYIKrWVK/Twiwovvtvsi9FKWb+mNe9ps7a6PmXPyTnFzAHJgBJn06SqUZaXleQe TOvWUHx0WIYxuoNqHSxEGtWTQZFWMCkDCraH2qU81nXuffgbhMOxVwFiVFOWTclaPyXR2Ex7DZ8 SBpuKOeP8e1CF3x4m6CI2D+TyiXIJWKxFYbQKcgX3jdwQynD8cBtE06SYIwq4fzmrsmR3LetyR8 y3787AV+9lHNVVN4+s5rR6jgH6FCLCGHGOoydx00EAKBV9aAyxxztsUvKOt3VoZrtgVLtHphqPw 03PWRtrx7UGpDdPthMXYDque+Ut9YQLWRG85L+Y3e0qpExRqtnBacJ+Xkx4oqs5dGS/QSaH34G9 5ujaXIvwR112Ng1ZbCKe2TFggIYFNw== X-Proofpoint-GUID: d76MLmhzveZ8hcRPQKypOP5QBPFeWdZF X-Authority-Analysis: v=2.4 cv=Gu1PO01C c=1 sm=1 tr=0 ts=69300aeb cx=c_pps a=1sVWB/l5Kn3omZIicXSEwA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=64Cc0HZtAAAA:8 a=UsTzQZW-myzRIYlug1wA:9 X-Proofpoint-ORIG-GUID: d76MLmhzveZ8hcRPQKypOP5QBPFeWdZF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-02_01,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.151.68; envelope-from=john.levon@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1764756257808019200 Content-Type: text/plain; charset="utf-8" Improve a comment for this. Signed-off-by: John Levon --- hw/vfio-user/proxy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/vfio-user/proxy.c b/hw/vfio-user/proxy.c index 75845d7c89..82c76c6665 100644 --- a/hw/vfio-user/proxy.c +++ b/hw/vfio-user/proxy.c @@ -362,7 +362,10 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, Er= ror **errp) while (msgleft > 0) { ret =3D qio_channel_read(proxy->ioc, data, msgleft, errp); =20 - /* prepare to complete read on next iternation */ + /* + * We'll complete this read on the next go around; keep track of t= he + * partial message until then. + */ if (ret =3D=3D QIO_CHANNEL_ERR_BLOCK) { proxy->part_recv =3D msg; proxy->recv_left =3D msgleft; --=20 2.43.0 From nobody Sun Dec 14 05:53:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1764756232; cv=pass; d=zohomail.com; s=zohoarc; b=kgd7yHv+y9AMjbh5/6yovaii+qTfMHcB91OQP+5ieWCbVjJZLNVVG59lPcrNlW9qyHfRux9PJ0TJJZztRkQW7lH7Ltm5j1lsVg4aVC+0qlPHNWFLWmq3iZzxLewLbwbK7NHWaWxA+tITQmG4dH6faU/ZI9cJrg+JJ3qCtMGNRQ8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764756232; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OjbsQ4asgv+IMl6PxX93eHGUlwPMYUuJDrZoMz7WDes=; b=mBix9PxKlDjso63MU2h/wAc1qqeCGposTqKh2Wg0DfgLEPngLewm4jNZ+Zz++I0iPUvza9hIMcbQZB3+iKoDNpeI6/58DiJGjn2t9pZbj3VNnqSytuflaTT8I5oldLc00yiP62TrzhVBR1IsbMfdpfMoZmH7CcsiXNOaMjiiTPA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764756232570943.0409114819072; Wed, 3 Dec 2025 02:03:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQjhu-0004XU-2P; Wed, 03 Dec 2025 05:03:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhs-0004V8-JA for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhp-0002yx-L9 for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B37xXUY834742; Wed, 3 Dec 2025 02:03:25 -0800 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020112.outbound.protection.outlook.com [52.101.85.112]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4at4909wwb-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 03 Dec 2025 02:03:24 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by DS0PR02MB8927.namprd02.prod.outlook.com (2603:10b6:8:c9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.9; Wed, 3 Dec 2025 10:03:23 +0000 Received: from CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51]) by CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51%7]) with mapi id 15.20.9388.003; Wed, 3 Dec 2025 10:03:22 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=OjbsQ4asgv+IMl6PxX93eHGUlwPMYUuJDrZoMz7WD es=; b=R7BjCeTuTyIpIYdeUtgnD6ZYes6ZqCb8UKdwCGXbpN3WR186iPGC2Msln r7MHHo/rMCQ5S89Ho2a1VNPOu91P6TKWr2uWPNSg6LoQpe7Q79Rbf795XZCLqiT6 0pLpf6pF+le0meeg1jgzD0mP2NtiWuY3Oz0Nn28XVZZyy0LKRfjvaDZbLsAN6IYb l/57mL+OJbhVBebgBaAGofctXxprImiDpXYDTOjuPYI7F9xkUwlzk6RFU7NANvvz u33n898FxMKySysjKFMG6G9iaKs7YKuotxD8zGTGO0dTlLv3j9w0XnOlBESNHKXH d6TQjDYSXjeXVTg/WH8D51WfLERFQ== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Vg7NN1tWT4Hsq3fgYdfvYNkEShKM0mBhEIotzMvwS93rwSqIUDxPBtmRBPoUGRY/P0Ni2CdsJEQ47pDYBzmUW5jT8yixPTuHHhMxIyrVPSqT0sT+AeAOYYn0Xgiety7TPDdo/34AP+y0kvFndITlKCwoN5VMfJ7BQBLSelx7sFpuNrvf1OxY+qrkTn0UqN10mvz0aeRhJzasYlSiK+RKH2sRla0uUqo7J6PuoWwpYgeLbOWxlT+6Fqn5EdFVR1S4y9lGSRnDIEbo3MjCJw5IVeDW123le6eexe6S8DX85XR2DmO9j9UC3V73dsQOx6UyQnFbEC2euMNSD0e32Wdnbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OjbsQ4asgv+IMl6PxX93eHGUlwPMYUuJDrZoMz7WDes=; b=tWp+cka9VNoBhsuD0rFmSuIzNDJ5lxw6ed2vyEnv3g50TiW3nBVEXz8u4v6gbjR23E0c9U1VEQ4jR+ScMbTy1YUpQ7rp1pNb6KQa/jWG5HU2livyvCVH4NY8BnZSV50At1WVEs5fGXHrlnQ/JI3ssBdkELCSI/IK9YNX6zWPAoC+Kkrx3EHS7hum3Es9e+6ZWzuHAAP4bUot0Zt4X6DTCN43SGamKefq21Pjos9AvVJVjnhJ3u1AjRXFliJ7YsvlaiCMERIL4Sh/R2mJ+7SLEArc724KESHwtBT+pEOFw7ILBMMVXcW7PQHoB4OSVlku5uleJeWbUlImHgCGxvWe5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OjbsQ4asgv+IMl6PxX93eHGUlwPMYUuJDrZoMz7WDes=; b=t9d/n+cCCld7SLY+smrJEf6UAz+dOVKrFcl2MBgzMw/IxeL7z1zAsPpNLppdd/mO0oOaa6hmZIkRElWTOf4ymYOweLzhkOersOorfIP5E2LPaXt0XyJTNDhLTN6PFjTFKxjZxjrszTxGz1XDtlamj7gRso8D41ACt9zV/9VDHZsojQN0uOvSeqoPug1VtETHo2c7lZiWv0kyyCO1l8tBpQi5t4FsJ3tTJQmpivcfpThFY0NZZMXJKifBAr5Bc9ubjE0a1cT2x/YT1rldU1PTqbC+HEQCY2yLgMALReFpHqUKjSy2pz4fOjQ+qcikE8glHHRM4FKJ9gl5QX2ZX7iN2g== From: John Levon To: qemu-devel@nongnu.org Cc: Peter Maydell , Thanos Makatos , John Levon , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v4 3/5] vfio-user: refactor out header handling Date: Wed, 3 Dec 2025 15:33:13 +0530 Message-ID: <20251203100316.3604456-4-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251203100316.3604456-1-john.levon@nutanix.com> References: <20251203100316.3604456-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0456.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::11) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|DS0PR02MB8927:EE_ X-MS-Office365-Filtering-Correlation-Id: 370749dc-e836-4206-150a-08de32533189 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?J442QE6MUAYzPoAp08YDpr+RT37P0e8MYB39zFILgDGLQGIGTMfeuAYBVe46?= =?us-ascii?Q?pQwYt5B5hZyI0eU31zQuj1Adh2HLMF8wn58XMwU5+eH6D+KmCzikXm7zXhdM?= =?us-ascii?Q?9NajoQMJyrVyLyLLShbYUyNe8h/0iA0BSRKMWx6jPoYdRq2UaISJ0tVWo3uF?= =?us-ascii?Q?7RwVX+5IknP9CKdHrP5ZAToCeap5akkYZ1fvQaTihdWgICSp2+WZmEGQJGqQ?= =?us-ascii?Q?lBa/Z7+tbbVTLwpmZ6doFaOC2yGssS00ow6vDFH2yf2/vBHJMVMNQ/M4oXrH?= =?us-ascii?Q?gwEWEljQPXVxZfVGxcqE6T9pBmRQ+P9SmqsR7BfnRyZ9VW/ieSYXZHIMavcX?= =?us-ascii?Q?WyxwsMmf1125tEAelSZkgs2o6UcU3YRwIaL94rGWWtxez8pkpLbZWEyujTL1?= =?us-ascii?Q?k3g8r9uul3r/Z38EC9kIIaL7VrvqaXrcv49uHFNejsgeLo3kdjoPCJPoDW7q?= =?us-ascii?Q?YXIIOJBchxxkvgUHSPR2BPho7H2U8aDtcQzdZrYpjb1qQcG+xwPtmVNyvQ8n?= =?us-ascii?Q?3el3Z7gExacjWsr3wb76WlTBv8QwgI2udAfF0tb4vjYLqfjpwzeZtaeXMh56?= =?us-ascii?Q?aPWy+5ZFhEXJtqOPB2RuYqztrXgJZhEGUvuP80NICwCTiRWlgZsNtxzshtCr?= =?us-ascii?Q?eIdnMbhoA9m14utPHk2e+L9egBpMZOzSObv5AdIm8LfVk4eG1jPs3zirbJCu?= =?us-ascii?Q?l2wvoq53Uv30+AXtqJ9Ix3g07g16NcGYwjBA4Tc8RUKUKaehBS4IEPHE57GU?= =?us-ascii?Q?z1IP0WSV7kS+AS9lMg2JhU/fkU4extXpYEf1w8INtOCfiZa0qiMPKIoMkwhZ?= =?us-ascii?Q?N604MjQ1KO7kSMsFoUQfgqYJSt4C8cRNQZTs5vM+IDtrMbMhE2JryKhqHlux?= =?us-ascii?Q?o1lqXQgK8En1WUd+jlw4hD3/nWbHXXA2hMXVwG4ytg5xNJ47HpExh7xwZd/e?= =?us-ascii?Q?hYxlmopmLX+0uXIKpMZ5VpGCoLbidBJ+v0Njdyfr9WcW0NxtVuQFh9gmbyGf?= =?us-ascii?Q?FzKs86PMc1VOiuw2IOEGcvuqZRwiZR8YiJRFV8gk0ZiToO3asj0XB/vm2pfp?= =?us-ascii?Q?5eC/eJw5YEujrrBWdsmdpbKbaohtFoGEZ1NDEkziMtUewwekmwOx+oy1fSl0?= =?us-ascii?Q?4vOYg5FncImJ9Q87C5gnqi3zpqsJ2GaWc4e3cas/LjoXECzgDLy3TGvMzQar?= =?us-ascii?Q?1P/oOg3Jkld5boeYtGW1TaTBSG8q+l5QyGhb04kmaBR3rk0upH2GEeYHu6sY?= =?us-ascii?Q?2sMY8XdOxSUBOe/lmzGonkeKo0/VIBRXN5PPgRzJf/0SKTkhg1Qf5X0Mhl+y?= =?us-ascii?Q?lWzNQR/BnYR3X3vN/dgNqYDx+MIeh2S7lcvNwwjMh9AzfMkmFv4/KA+efNR+?= =?us-ascii?Q?gK1ntrN4C23Tm1bEmvUiJ54dpqpmwit4UAolmoXeS3+caPDu9fg5nFWlhpKQ?= =?us-ascii?Q?pmfsz7WW4o4/wolqS4xZ6HrOBwjS5IWh?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR02MB6760.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LC6Y3NNrXZQsRMLWkET1IktruTg8hUoKqDJ0yGPvcXox5QqPq9sDXaCmSFmu?= =?us-ascii?Q?Quo63ObKSlf/KvwAhwT5vi7W5AEv2bwIjrfTy9BgmvVxodoI/WKmKOK1XHQr?= =?us-ascii?Q?YJWHXebCGCRfk2kLTctLtlzQCiAH3vXCD9vYoCj/XL1Rmu6ZyRfMWZ+t3MOw?= =?us-ascii?Q?J0sze4Hz97IymxRhuSD/PsnNXq9cgiyJXoDy9dAHywv1+yvf0s1k0MpTzwjE?= =?us-ascii?Q?6VhB6qAN7p+crh1P8SJQt64m/kovKh4OGfZHar5i0KnvaUtu/2nkIjme2V8y?= =?us-ascii?Q?68QubB4/yNjEQCZ4Wlx6UUQql3MJFl6yLytYrzUV1dIII4IzUeHEEq8VA5nk?= =?us-ascii?Q?Yb+1S5kG6Ax5ST9vp5ORJbzuVAabnt5vzZGUpf1LRa7Zxx6GN+OJ00RVvX7D?= =?us-ascii?Q?1vHxZissndaInVU7KjXAdZfYnaqhyCQhRYjMcYjW1BbuHX7MJwutbKz+dluE?= =?us-ascii?Q?q4nENJ0poAJ2y381CsabraMMRGR0Pj9WBTFlkQdjxcZkcqSDx+WEJwqofi6D?= =?us-ascii?Q?dbGPxx4chVK/fF9v85NaB5yp+TdeTpesepYPJdZ4cdV5YE37Cpr/auzP/18w?= =?us-ascii?Q?mH53E32mtfwvtnUGh8ybweBsxXb1YRI8C4vq4Hvsf3O+g5T66NhxdbVyiIcm?= =?us-ascii?Q?Q6iYDkAQ63zxC+NiC8Yxy61si4P/CMCG0C/YVGQAnAlLn5wVPP9Q//rbvnX6?= =?us-ascii?Q?27vA8cMIwC4f/glG/L1mdUpTz/sfYtrm5m6yRQ7vUf5kF3YB+ZA+ZITt709k?= =?us-ascii?Q?SP0QyyYZHZQjRSIY6Ktkp7VZDdiwIqV9FWv221VNszH97S72Fw5PXW7uKduI?= =?us-ascii?Q?8UTqMz7F5SY8+LNIKiAFdkH3g9OXEQZNHCgzf8ujrbTIIPKhcwMkAc4O6q8w?= =?us-ascii?Q?DTXV1WJlF/xbRUNesd0G5n1C2bkTdeoRTD/e9DSvh3QyhW9nrMS+IbwLt+3S?= =?us-ascii?Q?cmFV7TRMocMF99sEtn0s9+8cB6EbboofNQ1pkmC2NdTbElwQa5Pmo1VpEMtl?= =?us-ascii?Q?gmrSlAhFlsFJSnEcufsTpjUwYqp2AJvU/EDPjT9Q1QaMvVfjCjCcoxaVyXeH?= =?us-ascii?Q?tQWr2cYHyO6LDr3YOJo5R3m+uJ/bc6NA1uWMKD88PqXN+Ejoo/3wTI4avOCW?= =?us-ascii?Q?wgLqcjN0iVF9O6ltRiwkjZZCy5hI8B+4CsbaAVVCnHpFklfhlGy9opMv+2Sr?= =?us-ascii?Q?j2QXDYGcwFWSct0qX/gsFAIkPN6lpPP/J0rhX2jJgsbu5SM/MZBdlpBN1iMM?= =?us-ascii?Q?a6UdU2Uu2a7fugyo64dzx2Om+q9teg47h+yp1qkNpeTpALlPwyZuw38KNlwo?= =?us-ascii?Q?k0iHOzIGU3AJaN49orPZXlKvQgy0ejsS99CrnJkbVAITxsWL5pc23GO1wVt6?= =?us-ascii?Q?0ze0eC4b+LRsKFeQ9fggKZV2b5826w0XQscNv4rRWCbKGjGdeSW2Pn5koq8Q?= =?us-ascii?Q?Q9yUiTqDzBAb1xrq6ud17atVoppb/xpW/Fi2qlvzHwLRSegHuh54pWRMcvsl?= =?us-ascii?Q?Uzrr8vAkNmrFEV+A5UELO+rz839RoyLUy2TdqKq79kLffG+Es1JSdEQSTRxJ?= =?us-ascii?Q?PdrvYKfA0Zp03aVgwvSRUrWj+vFUgJtWFYBLt1Yx?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 370749dc-e836-4206-150a-08de32533189 X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 10:03:22.9110 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +N5QsH776oz8DXPivCYhhsF/QOq0QYWSl+SeKY6f6SDzN/e1zH/RhNZ+LZhTKW2WAEn70aJkOWFwdq/Dr8fOgQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR02MB8927 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAzMDA3OSBTYWx0ZWRfX/hVs8L6esEuD xKaUuBXARW/CTvKh8eKV1e2uem01xXn+pIWOq5+7RnHdzWevT9sNShbxF/6f+SJHj5/yFDdAoMK szclDl5VprdDV41K3Q9vrOofAblayQGuyBHDbG90cT9Sl/mmMjD09zL9i36CwXTMjEZNU/HdA1I XZKjqCB6/LqKXJMx3c6ZnhqSO1qx02crHsYh0xgjl+FFPyy2SkYT12fYP+aCOGoPGnEbohbHFKU Ca75MFvbxmMts2NV1ZLFSqLA98jzbWRsPrq5/BslGFP2WlfqmwqOP8cO39K4+LQxf2CKYlTgEse effbIfhqkfARvQCgko4gbg6+Sd3ZYfuEySJHuveULmCOYaRYwSQtJ6gO4D1k+3j5RmoyCdsZnwe muMZOCnIN5YMMw0daBEMBYfukiDJsQ== X-Proofpoint-GUID: LONg9IE-P0F2iY_9pxbNrD4wMSkMhSvx X-Authority-Analysis: v=2.4 cv=Gu1PO01C c=1 sm=1 tr=0 ts=69300aec cx=c_pps a=1sVWB/l5Kn3omZIicXSEwA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=64Cc0HZtAAAA:8 a=YItANLEf2SIYaAbUJgsA:9 X-Proofpoint-ORIG-GUID: LONg9IE-P0F2iY_9pxbNrD4wMSkMhSvx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-02_01,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.151.68; envelope-from=john.levon@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1764756233547019200 Content-Type: text/plain; charset="utf-8" Simplify vfio_user_recv_one() by moving the header handling out to a helper function. Signed-off-by: John Levon Reviewed-by: C=C3=A9dric Le Goater --- hw/vfio-user/proxy.c | 101 +++++++++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 41 deletions(-) diff --git a/hw/vfio-user/proxy.c b/hw/vfio-user/proxy.c index 82c76c6665..e0f9202535 100644 --- a/hw/vfio-user/proxy.c +++ b/hw/vfio-user/proxy.c @@ -218,6 +218,61 @@ static int vfio_user_complete(VFIOUserProxy *proxy, Er= ror **errp) return 1; } =20 +static int vfio_user_recv_hdr(VFIOUserProxy *proxy, Error **errp, + VFIOUserHdr *hdr, int **fdp, size_t *numfdp, + bool *isreply) +{ + struct iovec iov =3D { + .iov_base =3D hdr, + .iov_len =3D sizeof(*hdr), + }; + int ret; + + /* + * Read header + */ + ret =3D qio_channel_readv_full(proxy->ioc, &iov, 1, fdp, numfdp, 0, + errp); + if (ret =3D=3D QIO_CHANNEL_ERR_BLOCK) { + return ret; + } + + if (ret < 0) { + error_setg_errno(errp, errno, "failed to read header"); + return -1; + } else if (ret =3D=3D 0) { + error_setg(errp, "failed to read header: EOF"); + return -1; + } else if (ret < sizeof(*hdr)) { + error_setg(errp, "short read of header"); + return -1; + } + + /* + * Validate header + */ + if (hdr->size < sizeof(*hdr)) { + error_setg(errp, "bad header size"); + return -1; + } + + switch (hdr->flags & VFIO_USER_TYPE) { + case VFIO_USER_REQUEST: + *isreply =3D false; + break; + case VFIO_USER_REPLY: + *isreply =3D true; + break; + default: + error_setg(errp, "unknown message type"); + return -1; + } + + trace_vfio_user_recv_hdr(proxy->sockname, hdr->id, hdr->command, hdr->= size, + hdr->flags); + return 0; +} + /* * Receive and process one incoming message. * @@ -230,10 +285,6 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, Er= ror **errp) g_autofree int *fdp =3D NULL; VFIOUserFDs *reqfds; VFIOUserHdr hdr; - struct iovec iov =3D { - .iov_base =3D &hdr, - .iov_len =3D sizeof(hdr), - }; bool isreply =3D false; int i, ret; size_t msgleft, numfds =3D 0; @@ -257,45 +308,13 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, E= rror **errp) /* else fall into reading another msg */ } =20 - /* - * Read header - */ - ret =3D qio_channel_readv_full(proxy->ioc, &iov, 1, &fdp, &numfds, 0, - errp); - if (ret =3D=3D QIO_CHANNEL_ERR_BLOCK) { - return ret; - } - - /* read error or other side closed connection */ - if (ret <=3D 0) { - goto fatal; - } - - if (ret < sizeof(hdr)) { - error_setg(errp, "short read of header"); - goto fatal; - } - - /* - * Validate header - */ - if (hdr.size < sizeof(VFIOUserHdr)) { - error_setg(errp, "bad header size"); - goto fatal; - } - switch (hdr.flags & VFIO_USER_TYPE) { - case VFIO_USER_REQUEST: - isreply =3D false; - break; - case VFIO_USER_REPLY: - isreply =3D true; - break; - default: - error_setg(errp, "unknown message type"); + ret =3D vfio_user_recv_hdr(proxy, errp, &hdr, &fdp, &numfds, &isreply); + if (ret < 0) { + if (ret =3D=3D QIO_CHANNEL_ERR_BLOCK) { + return ret; + } goto fatal; } - trace_vfio_user_recv_hdr(proxy->sockname, hdr.id, hdr.command, hdr.siz= e, - hdr.flags); =20 /* * For replies, find the matching pending request. --=20 2.43.0 From nobody Sun Dec 14 05:53:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1764756252; cv=pass; d=zohomail.com; s=zohoarc; b=Cd02o2rhUw/HJQk2/OmxyXgAICWje7m/ukMXo9YZbNrjIZzSEDO7YlpHoR9axsmaCxgDY9l1pgzP5+N3e3bvTZJHu8sRcoT731GIBRambgVWtOKCjGIZVC2vfxL/Jv8Xcj5/oECgzkoJeZNJ6lpfji5d+2jQT40vsOqALX3rKg0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764756252; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oXdd5n/XaBMniqmEaSEBt3nyhMNGJswskVf0WygY8d4=; b=CtXFiIP8A5NWR0rm5LK9/cxq07d+l6wUgP5SXdKV8EUqc9fu9ojVSzwVRGQXTSswV/Kxkd9+kZJB544g4JacuW3uteHXwMJmJxBw40dUie9bBDOdHyJHEoB9q0xLM5ox5b4AZoX1PLUQy90rs/kr2imIk/sNkQuuNHiM4vJ6gP8= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764756252103901.3065918950585; Wed, 3 Dec 2025 02:04:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQjht-0004Wl-5y; Wed, 03 Dec 2025 05:03:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhs-0004V6-IU for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhp-0002z4-1l for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B37xXUZ834742; Wed, 3 Dec 2025 02:03:25 -0800 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020112.outbound.protection.outlook.com [52.101.85.112]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4at4909wwb-5 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 03 Dec 2025 02:03:25 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by DS0PR02MB8927.namprd02.prod.outlook.com (2603:10b6:8:c9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.9; Wed, 3 Dec 2025 10:03:24 +0000 Received: from CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51]) by CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51%7]) with mapi id 15.20.9388.003; Wed, 3 Dec 2025 10:03:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=oXdd5n/XaBMniqmEaSEBt3nyhMNGJswskVf0WygY8 d4=; b=pzuEAuVF/gu6E9RzXIqK39tfm7GDWA6IeHV/7vM1ogIunYt3lMcl4rkND sPW8HCSzCNu3B6LK6+bk0QhlHWUdSvuYxB5NaMUphn7LoVq+SrGNIhfSBfbuSqeg GUXjTwS/xwPZ/SJYZSbvz9FthKlPq4iztW/9wmrD3UsU7JVV2s+4U2zkIEQvQvQ7 f/R9Pv7pEReWMiK1iEP56R0QCzIbQQmDIb33kRiYQqxRz00uuacMw2bqVL5XAZIp rwzOvvm3N5hF7VZAYXtB4jFtienVwl85uZABw+ZQlPVMyx+ePI7v4Skrl90bZ8Nl z5hmPlkV8GuU9Bs0ZK4DtVOiuatPQ== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bi7F2ccoMw50Ubpx7Xh4hQHpawIok+JW434dtidAfeM8Cmw2VojbL3NeCvyqIt3jzd1Hvnpd835UJC3PxDmWuKxn7+8fIDBnAPp8ApVLBniqxWaG/c3x4RZSE4+jYS58nuIEPRgcIczcLmx3yrOHJkLvuGs9dKv2Uj6I2ftEKnKKdPwKUAWY4nGNi80onfCcOwesTJ6VZXgptisp61Tq6ZMeTKe5x0gffNMkp1EWqBhNDUS5Fr/ESDROoqJmFDRgyGbHsgB86HlWApr+t86psPU8Rq5pGKqaPNKeUxVK/OQrQt8Od1zjJ+iJeDhSh4mBl/3cvHj0N1mOZTlaf/FM6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oXdd5n/XaBMniqmEaSEBt3nyhMNGJswskVf0WygY8d4=; b=v7p7RO0jIIgwq/XD1y97BPkVXoY3Z6mniWTR4Owny/SIJ4a+sXtDFY+eLoeP+6ZP1uKihfouR205drj62amXSY/+5qpEuE7HsBEPqQ/ntpvekacn6uRfDSxFaGBpzRaZl2VHg7beBwp7TFw2x4kEzTl6VQLzXQB+PIL2Ja8Tr76MBIX91AT3U45hgHv1ei58KgmZGHxB/p5CIjx2yynDssI8KlfE+oX2DseDFKeecFPzRzu4TeFij3D6+G3B+T8McG3m89iOocV+YEHM5hUKC4iECvIOrEw+r/L2sbMq8CL24sV5GgwH26hO4EDuzvnoji+6JaRkKsG3Rw+9Q2z1yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oXdd5n/XaBMniqmEaSEBt3nyhMNGJswskVf0WygY8d4=; b=vy4VigcNYDof79RjG+56MLE4dsa3rwpLsuhuvC/S1xFMKFKltQ2xcOA8sWG3/Uedr6l08XT/es1HEXovOnfun+nt6rOQ8CCSPDcQn/wLln69eZByBFFSINnvN7PSxre+7cJrygasYg/pLek6hyKEsaZh96myGr/0JKsqyDXMxZRqjv2NVE8e+zsV0XuL17hcbt1yNUOGYLiy3h4vGwtwzvHSiZ6zaIU2xz+2yYhbgfB8clJFrPCFPpRlVzSYpKzU/TUt1tX20/gLBpDNBavS8rVPY0iwELoCiKK5yGdfHVtUyrpEewB4lSMixTJH3F3rcyf4kq655MNBgxFH5Obt6w== From: John Levon To: qemu-devel@nongnu.org Cc: Peter Maydell , Thanos Makatos , John Levon , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v4 4/5] vfio-user: simplify vfio_user_recv_one() Date: Wed, 3 Dec 2025 15:33:14 +0530 Message-ID: <20251203100316.3604456-5-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251203100316.3604456-1-john.levon@nutanix.com> References: <20251203100316.3604456-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0456.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::11) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|DS0PR02MB8927:EE_ X-MS-Office365-Filtering-Correlation-Id: 296c6fa8-b614-4f48-fc12-08de32533232 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FfkJRr+iGqk3Qtu0bG0vEmkvDWefvHrVFjZBjGV2iUpGLKLoAsuqSV4A/5nG?= =?us-ascii?Q?U2x9VHLCItP1Vzl/9xJ5NKVM/zyeFAbl0r8wEWGclFAIRSGsn0eZ5gCtCcGP?= =?us-ascii?Q?OdXh75fYVNvIH5Ybth+npU5wq0R+HiK0X53YSkHLjE0svGaClbFvIleEyIor?= =?us-ascii?Q?pmtqgPPruFF/7zcEfLOm9MNq2FIbA+zPJam172i+WIaT7vwwlA6oMi6axEJ+?= =?us-ascii?Q?mY721PEpOv56O2cdPGcOlpweNJLrmXxKhQU4WafliFj9/fdCBaMxXhIUUEyO?= =?us-ascii?Q?6Lo1F4zpKV6EPlltsfU+twENORpxloxBda1PYnYJfIby/P8YmjgwrcOsdqm5?= =?us-ascii?Q?4euqdczvYeFrhnNQaXzcOs8wEFYCHxGNppx4JTT5ZlZCUC2CkpbEJNjdLd0S?= =?us-ascii?Q?7naxJzxYfbd4s1S3+00xAFvOo7y9CRyN2Ht9fIOjlThEnf7ZeCChhWuA+pLc?= =?us-ascii?Q?ljq+MDyHOge/0M8FYVbVUf5fYEmfUHViywRcOcRxzI/Ay1COBf9wHBxjk/nQ?= =?us-ascii?Q?U7kDF1kfRw+izyT01wDI7cJQUgyelZu7z8BRYTl+r/Qz8IBHI/yIP9NXIaEV?= =?us-ascii?Q?o/2xeSTjHVCyN6Pz9HeD191eOPUKIYtk2WzEegUHF/hFQDAoF+PblilKHtH1?= =?us-ascii?Q?npljnc0BlN1QPViS5uydSEw+JR95ZLd5Sp1Y/Y57EscmIfp7dOFa9eCGPlj3?= =?us-ascii?Q?9Obm/kJnRD/YYGoxXWONsTluLZc6Qj+giwIn8jQj/Eb1nkwsEqR84LN8FZ4c?= =?us-ascii?Q?L2lPRHxhrcWkoQehsWy3kZgPvLYEeKcVD74fdYxKhAC9BvWNlVSV/K2UTfgQ?= =?us-ascii?Q?K6pespYH4s4IVBQbOw/C0tsTF3vCWuKC1t8O2pZ3nSCvm7N4DC3PHl/QXl7T?= =?us-ascii?Q?OeMxik0NthlHnm2Tm5gWsdsnbQdpRQSqZ2woQ6HkHv0sWhrJ2wRLbbYvOhj3?= =?us-ascii?Q?pR3BQGHFN188vdlw5zQ9FaBrBo5TYJvP+GKLqKmxtZ0wNBkHF3JiDMZQRmf8?= =?us-ascii?Q?iw8dcJPVs+qq+35YMaYlyZ4E+ysFZ7z1Gc8lVWF/EjhH03HIV6mLjpHw83W1?= =?us-ascii?Q?mCSiMRC1azr7sC6Hz414rfnI6mIxeLOEvmLZ9l1/DaUJ3BPeseRhDNX6Bhyg?= =?us-ascii?Q?GaInoeRaPU/9tb38Wfp6CGyRiQNgUKsbOEI7NUH79ult8+ui71IAJzu63lY4?= =?us-ascii?Q?G3xuacN8MzxdyUN3mmMD2QmL5D/MP5XA/0kKci2u+ki/M6ywjVWMr1tAp4MN?= =?us-ascii?Q?0hx3u6owHeey+6PDY6l+a2AAkQNIkkTEsj6giV5YhbyErG1ecprgJtQ8GD8c?= =?us-ascii?Q?WsnsmxfVjN2SsDfo/1AmhKk/oMAIRLHyndaNKOt8YA9DZfyO6zUZv+qySscI?= =?us-ascii?Q?BmO6ePkn4iIrzpncyW1VBbg9Ph5S50Tve3gFnrt9fUcNiuMuqIPBNT8a+1/K?= =?us-ascii?Q?rlyFVCrOLwMvnNaSbRzlwDzPDcwcAtxx?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR02MB6760.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RRwsZwqzjnvD1v4bG2AcJ8RLxBe3zMqWUkQpqBnGTBqPakZUPizeQEVhQTt8?= =?us-ascii?Q?agBSjhPtz/9LAVHX818MO0fHgi40cGw5oM9HxkM5ZJaGqcHhusmHrIaXJopV?= =?us-ascii?Q?OE2ZXQfkNikkYq9zHL0PVKh47JshhJNhZM3NlG+KaiistS/9ArYSxmfgId1E?= =?us-ascii?Q?99VDDnagb3E94otheYBGPzwz/HZS4U0F0ayAgCHix2KTSLZgEPXSQ39aBRyh?= =?us-ascii?Q?u/NWvUsVYohVinNRgYiuv5JWp/gyB9SPApVKsY2ywgfH8aK6DOI1J7CALVyc?= =?us-ascii?Q?s4x4u568/ijWKvXYcMp+chiEjYBPPOxhJWeHzn/VuD/lxN41Xh9Kmmmghd13?= =?us-ascii?Q?bessT8ZzG50+HHCKF0dW7rwFLKqkLCfV+YFoqnMeIFXVfMyA3oLseWna7P2q?= =?us-ascii?Q?pYEYYrNJBii+yzACduDwsC8z5PTujNda+fQxB27x2j3ZtkcmcFoOvyKJV6vM?= =?us-ascii?Q?wBuOYeXeCytZMZ90N/jt0LcVopPv+7rKZJ0rcfnRZrk4YaBYqLvaYp5noLm4?= =?us-ascii?Q?erSAXGfDOZITDsAAlxdP+DQFnYb9Bmk6uKfjCw25JKRCtVqnRmByRvzEW47d?= =?us-ascii?Q?xX5lAAIbLz+fHipi1YnqUdX9v+1VbNwPLdfXy8l44v4FN46aditm4NG5uTZw?= =?us-ascii?Q?2GWEKrJh3x2DkK6HqnVxmnF0pzFwty58z+GB/+63SQAMGK2AAqW/N0UgeFcS?= =?us-ascii?Q?h10HBAHZE81xSElzxzc+qyVH6S6bp6U9Dv7UhVwBdaEKuuZqXY9s8VdwW/xg?= =?us-ascii?Q?/5latY0Cg2tjRb75jQJDyr1UzO1CIyi3/HEEYKQDOmOTGqy3iz8Hx78g5wSs?= =?us-ascii?Q?EG/e/FniYbgjgIJLm4ZPE8Dj4XviiloHbR/1C31GN4IMsaVcl07WFDMAJBob?= =?us-ascii?Q?t4nxQd3QcGhhXoBiuhxXG5GyXcCJYJEq/IEdHA0ottJuZ6OfCxHW5lG/Bj3U?= =?us-ascii?Q?ZyR/3u5x0xiWC0VT0d6BKdwnytZB2ZzRN++tDfiAPIPGFKdmQgIC1BkMvNf3?= =?us-ascii?Q?0qr1T4RIJ3+N+iSxljEEZnKlGyRyac0ckSXcGdLTcc7ZYVwHfUkCyO7c7+m8?= =?us-ascii?Q?mRg63m0tGIkZXnquSjcRETLaG/8CcVjSnlHoj0jsiPdSxk/q9KulGJDLW5IP?= =?us-ascii?Q?J3YxOu1kPw8epYsQdgtpJiZ4F3talSZS6Wzro+WujKimjfYct5eTSONOBjug?= =?us-ascii?Q?uF4h1d1wanZ4lU9A02LA8r5696Vngi2e6od+21a27+quUSQ1Zb0yPAHy86Uy?= =?us-ascii?Q?2ENn3VF7BchCkl9fmiaSRszd3W6jd9/pR4q4Zn4XDeePD6L5luvjweSxOJhZ?= =?us-ascii?Q?AEOoYVIUxzwlF3NVaTEsdi/8IvANLrUP/ViD5/86P68HGVmmj6KIfhihMC6V?= =?us-ascii?Q?dtHge6yk+eq1rnMMZJpVgUSIIONk5YVlc18lZKcEWVtusxkvkOf0M707vgmI?= =?us-ascii?Q?eCuicexmoDtSsV1AnUq1a91VMsjqD5uLgMArx6iMHLbsE87pJWsiW6WOZVwG?= =?us-ascii?Q?4qfVT+WQLS4QffwNrOTy93QpJUTfh2VXj2VxvSvG/6t0o9j81eUCRgwoyAbG?= =?us-ascii?Q?NlR8DqyrnXmJcT3UQ2oQDz7P87KwUQwPOe1qIz4Y?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 296c6fa8-b614-4f48-fc12-08de32533232 X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 10:03:24.0143 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r8vMfX8JIUqj4UZYpn71p6aNipxBg9cs98SW5KgRqY4OJV+06OXUSy3tH33Ioa6pScGbShIT4YSJjuG9oAzXUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR02MB8927 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAzMDA3OSBTYWx0ZWRfX/5AK+wX+Ni1b EIsUXlsjuPMXjHdiaEAM0pzoRG6T7kgvttHvPQXXwbq261V7V6dVHsqtnGFt9WOJUOJuXeY36vj bPcj+MbTUCiDYcwN4eAmrQB84+VXk5j5HC7PstagZlSCtTPFC+B7un+XSU0qMbZrMlWlOApsaYt hFvm5C8EOBJnhFQI8f8I+gVUF9bAvjozpmUKXaFTldfKIvSZWZwP2xij0b6pxvNRvyu0zfdWWrq LfsVeZt7Twb9iELvVoezgwIgRQYIpuVH2qxu4uiNCk1DSZ/pjpJ0ua6exiWL6onVAL3cbMef1Xs na4znUCocX/zA1lS5aOMCbG60OaQnt4QR1If3gx5bsyWK271TfgaLZNMefaGViP5R8G9HqkjATc rQv9d2IBs5VjUXP6kLNqHiKMaRsIgQ== X-Proofpoint-GUID: qNdfC6pUQ-84XVcpZ0uGUDKsS3VMISvB X-Authority-Analysis: v=2.4 cv=Gu1PO01C c=1 sm=1 tr=0 ts=69300aed cx=c_pps a=1sVWB/l5Kn3omZIicXSEwA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=64Cc0HZtAAAA:8 a=jnA1zMGvAcXXG4Qj4jYA:9 X-Proofpoint-ORIG-GUID: qNdfC6pUQ-84XVcpZ0uGUDKsS3VMISvB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-02_01,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.151.68; envelope-from=john.levon@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1764756253698019200 Content-Type: text/plain; charset="utf-8" This function was unnecessarily difficult to understand due to the separate handling of request and reply messages. Use common code for both where we can. Signed-off-by: John Levon --- hw/vfio-user/proxy.c | 68 +++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/hw/vfio-user/proxy.c b/hw/vfio-user/proxy.c index e0f9202535..f2601eada5 100644 --- a/hw/vfio-user/proxy.c +++ b/hw/vfio-user/proxy.c @@ -281,15 +281,14 @@ static int vfio_user_recv_hdr(VFIOUserProxy *proxy, E= rror **errp, */ static int vfio_user_recv_one(VFIOUserProxy *proxy, Error **errp) { - VFIOUserMsg *msg =3D NULL; g_autofree int *fdp =3D NULL; - VFIOUserFDs *reqfds; - VFIOUserHdr hdr; + VFIOUserMsg *msg =3D NULL; bool isreply =3D false; - int i, ret; - size_t msgleft, numfds =3D 0; + size_t msgleft =3D 0; + size_t numfds =3D 0; char *data =3D NULL; - char *buf =3D NULL; + VFIOUserHdr hdr; + int i, ret; =20 /* * Complete any partial reads @@ -317,8 +316,8 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, Err= or **errp) } =20 /* - * For replies, find the matching pending request. - * For requests, reap incoming FDs. + * Find the matching request if this is a reply, or initialize a new + * server->client request. */ if (isreply) { QTAILQ_FOREACH(msg, &proxy->pending, next) { @@ -332,51 +331,44 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, E= rror **errp) } QTAILQ_REMOVE(&proxy->pending, msg, next); =20 - /* - * Process any received FDs - */ - if (numfds !=3D 0) { - if (msg->fds =3D=3D NULL || msg->fds->recv_fds < numfds) { - error_setg(errp, "unexpected FDs"); - goto err; - } - msg->fds->recv_fds =3D numfds; - memcpy(msg->fds->fds, fdp, numfds * sizeof(int)); - } - } else { - if (numfds !=3D 0) { - reqfds =3D vfio_user_getfds(numfds); - memcpy(reqfds->fds, fdp, numfds * sizeof(int)); - } else { - reqfds =3D NULL; - } - } - - /* - * Put the whole message into a single buffer. - */ - if (isreply) { if (hdr.size > msg->rsize) { error_setg(errp, "reply larger than recv buffer"); goto err; } - *msg->hdr =3D hdr; - data =3D (char *)msg->hdr + sizeof(hdr); } else { + void *buf; + if (hdr.size > proxy->max_xfer_size + sizeof(VFIOUserDMARW)) { error_setg(errp, "vfio_user_recv request larger than max"); goto err; } + buf =3D g_malloc0(hdr.size); - memcpy(buf, &hdr, sizeof(hdr)); - data =3D buf + sizeof(hdr); - msg =3D vfio_user_getmsg(proxy, (VFIOUserHdr *)buf, reqfds); + msg =3D vfio_user_getmsg(proxy, buf, NULL); msg->type =3D VFIO_MSG_REQ; } =20 + *msg->hdr =3D hdr; + data =3D (char *)msg->hdr + sizeof(hdr); + + if (numfds !=3D 0) { + if (msg->type =3D=3D VFIO_MSG_REQ) { + msg->fds =3D vfio_user_getfds(numfds); + } else { + if (msg->fds =3D=3D NULL || msg->fds->recv_fds < numfds) { + error_setg(errp, "unexpected FDs in reply"); + goto err; + } + msg->fds->recv_fds =3D numfds; + } + + memcpy(msg->fds->fds, fdp, numfds * sizeof(int)); + } + /* - * Read rest of message. + * Read rest of message into the data buffer. */ + msgleft =3D hdr.size - sizeof(hdr); while (msgleft > 0) { ret =3D qio_channel_read(proxy->ioc, data, msgleft, errp); --=20 2.43.0 From nobody Sun Dec 14 05:53:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1764756232; cv=pass; d=zohomail.com; s=zohoarc; b=OnSQllMKkrxMXyGExu0O3s/os6KbT8cWZOAz83QB8jTTfP6EgxALyvyuvokgpjy6FkqPlfYkNxoYLf19lQSPrU1sm/X1fC4P+VsyLqqvwqQLZ3sKNEZTzqFmlY1QHMcFv2E7PabB6n0+rlV48/mQ8bY9HFsEEKDp51KmdReZO6M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764756232; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MxBb4zecwGQxLDLzd1/odZYSxAW3vCgOOK/TicaklSc=; b=k+Q00D/gyC0tOUHF289hWso7SRFIakICthAh/1rSsFXhcxr7CR3VXDoG6A8gZ9ynxmRIZ8Q4ticAS5PboCJPCzkrCn4n4xUQO8OFzE0MoXcbxPI1Jf1Bmc7ZwHZmayN/0uaoJohhsdxKupk8NAnQl7ZDK34f3Gx3Ru1SZX8SSeU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764756232573218.54327228811553; Wed, 3 Dec 2025 02:03:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQjht-0004X3-Ka; Wed, 03 Dec 2025 05:03:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhs-0004Ux-Dc for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQjhp-00032b-IA for qemu-devel@nongnu.org; Wed, 03 Dec 2025 05:03:32 -0500 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B37vawe1650674; Wed, 3 Dec 2025 02:03:27 -0800 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020079.outbound.protection.outlook.com [52.101.85.79]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4asrrxujae-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 03 Dec 2025 02:03:26 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by DS0PR02MB8927.namprd02.prod.outlook.com (2603:10b6:8:c9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.9; Wed, 3 Dec 2025 10:03:25 +0000 Received: from CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51]) by CH2PR02MB6760.namprd02.prod.outlook.com ([fe80::fd77:ea65:a159:ef51%7]) with mapi id 15.20.9388.003; Wed, 3 Dec 2025 10:03:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=MxBb4zecwGQxLDLzd1/odZYSxAW3vCgOOK/Ticakl Sc=; b=OWLEq+gscWHUX8Ly4soWiIgzEliXnRdJAmLcXBLnfOLXh9looQ0F5HMQz O5v+3pCq2FQLZiKXoXeDv82sToYsAR7FMApK5AKK1uTw+wGP2YhbwPHUhKnz1cUq 0QB2bqGlraiXEvItcg5b1aqy7CjUl1XrEtz12lLQUiHPINuZWQG+NkjyJTcX6tsq ebaSFYdhf1ad6NZ97ysjRaHSVwhAfStHPfLlh8V+MfZG4bXcD2A2TptIFVpJWuLB S+T/V1nqWzX8zT4ivLwnCqwldz7Q9KfbG9PvqTqBjPtZzrGBdBvO2HFClrjVSsAm ocwNk65VzmbSH0FF508yJGwjGUvDA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Up1xXe7Hylvpr+qijtlxNot1NahzQ6cxJ9gI9dBQ6kYfqJf6Az9n7QL90CykDn+yh29UhV7I6a6OLFDdISYYl2J9/Xeeu3Wr9nNtjwHqHfHJ7oNP1sX3FV8KnTjTqYnGi865LIt6bsvyP29PSZtVcj/6hwjRMU+KPVujwVvVFCRZKtMG7WiotT3ze3hu3lvIaIlgyzxFCMH2VyOCOARFyXCNb4AGZxId1C1juKbfCEoEZe9YSoFpdJkRGgUrN07CEPco+djI8Y/4SMm89Hr4KCMpzP29YfRC5JXlk3LJLJOpHxqWCLApOtdxQler+Rcgp5LtAk9oYWqENT9p1/M/uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MxBb4zecwGQxLDLzd1/odZYSxAW3vCgOOK/TicaklSc=; b=aC26Mij/1e+fkvrEEvI4Nll2G3BwZpPbFdtZbpFreCGNzfdhq6Pvztbtja8Bfw2yczZ74Tn3XB+RJYUjCrSISscF9nWNwo7yx2UlhMz1lLTmKdi759ra7sOJA7Xn4hXvlk+CUguDfK/JnCnThF38tnmoc88dMYxhIh6zxOJRPbaoRKlw5TPGevEkCpBXwYiBko7w/8wE7xwgehhy7GjW+neIbB0kxH9zl6fyH5+73BWMHkDvWCZlAtoI2anqDXTBVNhxgJ6MrROHOo78OGmaeCWCxZrvbpIjaJJGbepwdMsmZAsD32myhKtgaFmfFQXjKZbmJ/cOdAO42ZQlwFDBsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MxBb4zecwGQxLDLzd1/odZYSxAW3vCgOOK/TicaklSc=; b=u2nrJeleSBLE/LYUc6h4gB7gM13zhnpM+fHeo5Bsco9G4/gJ1PetwrkM+CYvoBr09SPptIcqa+qfNK1S1lhvOZmYYr9p9Jwfdw2aYEcEd2jfSsdB8+nidNi0w6nd65+JNSkTzYIIu2Vft4QQiy75HTWmTOU8V2wtx82thstiC55j+88F+KGP6adXfk5Z7I8p24l2bQ/2X3D83k8tJaetZZiczJ5e8H/LxY1v7Xr8NXIsckv/L8RaH/ZZUD6GrLQ2oRKlDc9L29l7mJ/5XVpi/H55N07qk2aknzjuslVF20g9P/OAjq9OvxkUJSYGAdISLKmwuDT/L7JlaKaa6X2U2w== From: John Levon To: qemu-devel@nongnu.org Cc: Peter Maydell , Thanos Makatos , John Levon , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v4 5/5] vfio-user: recycle msg on failure Date: Wed, 3 Dec 2025 15:33:15 +0530 Message-ID: <20251203100316.3604456-6-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251203100316.3604456-1-john.levon@nutanix.com> References: <20251203100316.3604456-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0456.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::11) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|DS0PR02MB8927:EE_ X-MS-Office365-Filtering-Correlation-Id: ff0e6620-1729-4170-01cb-08de325332df x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Xo9edFNf4BkQMBhBeb4h/z/e8ib9bdC51D+toGOGfuFOq71ubm7ofDt37g6u?= =?us-ascii?Q?A0Rb/3e7KWPVTp/lQTf1xNEdc4oMIofpFsFUdQVAK/zacEVR3EHtEbMypot9?= =?us-ascii?Q?u04ExyPoj2PrSEIzKM7JjBbGpA0+rpOHFGiJEBUdqkpUYIM4S8w/8fzpTpIW?= =?us-ascii?Q?C5+zWSKi14dwj4SYeTww7rgM8J5gs+335BczUwOu5gNT6kHPkHvqW9EdyDu0?= =?us-ascii?Q?3buXEhggYsOFtRLqMqsAAyVRBtmxZCjKUPg3xI3UYb13gyGqhfi6Mw9FZU0Z?= =?us-ascii?Q?ix/fnPYGRk+BHKGcUP3UlH3xxu7IdSBwoXS8bgX0oL7tMRVz9H5jGhg0weT2?= =?us-ascii?Q?c3f2zfyHOOH8p8nnVDaWwSTqtCANNTzs4fZGIlNtRS/JQ+9tLsnQwDAAMdhu?= =?us-ascii?Q?26yyzB39KLhPt6LmzhPC5ZbVAR4lz2+MtUMckb6IXnD7T5tmw1K/S4eqr2ku?= =?us-ascii?Q?Uij64TudxtGU2ExlfHyP7j9n+AuyD4hVZfD3PKM/+vtDRGZRcgC996vxOdPy?= =?us-ascii?Q?WJxDMt8H6mAmwGAXkKlFSTPdq8g1M2oFXdpr0a0nX9o6acG3rSraf0xzHNjU?= =?us-ascii?Q?M3NE69V2ZLPDVzAejLQ/icbIPlLfeOyQrsm7LgfQ3bP70DzbB5V3ELfH/H1L?= =?us-ascii?Q?PIXcx/PauTO7G2HAQk0afUMHS4n/9NmLmu900QqGR74wE5bC7BlaHLkb3K4W?= =?us-ascii?Q?Hwm1S4naUa/WfTpyTnZBQvKlYQBG9rJeo6xFfqkryR5826d4lc4FKi0WsLdG?= =?us-ascii?Q?VK9xwQipwN7TBUG6VVduZ2DqWYL+XDs9iaxV23RnC77psCQzngnBBj5qDe3Z?= =?us-ascii?Q?nadAN+fC/U44BfT6wixNhdy+HBrx3S+xnnF3nR8Dc4RN7P1z9qd9ge764pVn?= =?us-ascii?Q?6uDmqNwRPPiJcHgwwtew9FXRTSysyD7o7LCFiH1zBgo1LdyPK8dQh0WVO71L?= =?us-ascii?Q?f/TVqh3vg8z4/6YdWinUV7paNIfyILT/NAW+6VvaDm2i1+//Rfr0K1pr4UUk?= =?us-ascii?Q?8vgUnB2qyiqfIpezxM7H4B2pcMQVTDVb+KSpnvkvzBRaF7DjK/POzubwD2aM?= =?us-ascii?Q?sY1bGN1/yawWE+L9l6oxh82uAR+xqpCjsX6l2HYsZRgqMLR2oYGOmDZ000eN?= =?us-ascii?Q?CxSuVPU1Gnz9+BBN0Ld3XsdT39aPB394oKx3klFpof22qoE+BnNWO3OGygvs?= =?us-ascii?Q?ZUQZKiA/FKIJFPLZd9dFlaPIC6ALgJIbfGNIVvBCCLEqO3BZEexKHGUsDXBg?= =?us-ascii?Q?QFmbuz2NYbnuTHBb4AD4PhI/MzqwGyWRX5lFADONGl698e0RslxgU97YRzmp?= =?us-ascii?Q?7XuQ/iAi2YaOsmx2eYXavuYR3ZXBigmvN9GWY9U3zm2FuStmP0gdvyApQL7O?= =?us-ascii?Q?NmAkOQfTzqy+YIZOKE/Q02ouGmSfhzYgK7GXEb8mzqjHkylQuM/kC4V/Gymc?= =?us-ascii?Q?J/MjLLERUEj5J4z55N2fyfoC6Bk7NjPa?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR02MB6760.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0TnEZqh9Po9mgbiA5Hg+TMCC6j6SfLw9n/9g8ceOOh1c0C6j8EyN40QWFtwI?= =?us-ascii?Q?7sksW72IeAMP7ApuwJdBnoeN0YhDiwgwyqLKiO5CBNpS/2QCb4i+KlcEVUKx?= =?us-ascii?Q?MHGTUrDU8UrMQw93vDp7Pv/kjH2sTl+i14pieUZc6t6annU+zl+SwRbb1UEy?= =?us-ascii?Q?Zz5vWC4wUaeMfjtcBAb/4eBUaNY23Qe8OG9SdK59SyYiFF8/VgIUIc0DPmjk?= =?us-ascii?Q?2Ybe9RVdR61Ijk5gLhJ7E6VUYhLYzgbA0iznrK5q9580XQOtrlsMXUf2EQtt?= =?us-ascii?Q?1ED/P4m6hlamCxvWxcRMT2WJLxeLZUYVQzFbauYCGa1W+q4u4dlWRJZFUUK2?= =?us-ascii?Q?20jq/cvNz0KOXHuxsSUmdPS4RVfli8DyVWfkTTCp/rRwOxf3RQ/Zqirygy+b?= =?us-ascii?Q?dKcVCE+NeX+bIwp5P5cFO5I7kmMXWnHsbMBIoPIPX+4crqdAbY3bWvOLJepA?= =?us-ascii?Q?FfFCgdBfhDKDoMHhe3Er1AjGnrBevtlGBopXl9/623d1RT5nLbnIGn8abB2A?= =?us-ascii?Q?oiKZfJ9roY1bYX+qpGUEGixO7XVZcvthzamfYm+7ejFjcNE+PE+ryl9FtOXI?= =?us-ascii?Q?vDcdLhdeFdshujPdx9kjG0P/riP/ZRgIDXGf52iDvBeGZBKbSkd22pf2PmKE?= =?us-ascii?Q?KagmjkRGa1eJshp8V0PNvLXYjN3lpQw8j+OCpZ+vg5dWSwoLZLQJXHp3uNZ1?= =?us-ascii?Q?bEnY4bv9VXFF5sOX/iJSOJuxwFFUSrbLbkERQcZjx48XhnCZPTsQNjpElgQ3?= =?us-ascii?Q?yjQAG9cI6BPw766qWVU1sZshkEigewcLuzgZZOagRZlVDDj0QMQh1Ae0wG8b?= =?us-ascii?Q?OTDUD9kqTsB3Ija1ySaFqKCxcRcq1M/V/D0nLKpXcdopYqbfTXcORGAbHrIW?= =?us-ascii?Q?5zWy3kzdTgURiqQjhs3y4ZjgcNFsbsYgDAnjwOJAMCh8Y6BxbIMm4lst3i0i?= =?us-ascii?Q?c7um6zb41rxkmbdBeTb1F3vM9nH95/pAaasTtsJr64vzUEIO0pblShdVsJe1?= =?us-ascii?Q?scfkDO3q65WtpQJZeNUgztr/kkhOP1PG3fh4mALHJrXnq0jrXciTJ3vooz+m?= =?us-ascii?Q?7ld9Lx0vtzIt9ak9IfMsLmBT5Ie1bJgCBqKHDJLYLQGBdU/8vX+Hry9PdgJu?= =?us-ascii?Q?FaENcfvB1LqwDnq+WOpbAhsJrN6CBjjBJyOX1IliYxuGG2UOJddfsEdU6yHL?= =?us-ascii?Q?n+OW8eCIDto9frXt39PB7VG+Ww+TpMhw7VZmZ5/wWZWdNa5ScMreN2OhhXY6?= =?us-ascii?Q?iwacFXVnqhdIV4/Zpp34WUq+a13TpMSgITOhjUBOgs+l8pmLvs7KsDfSplto?= =?us-ascii?Q?QTmkQYkqvQz97JwtsBIYdHRc2zwyLTS5ouBuOZcjNzm3KIRDf+KvSNAS77Wb?= =?us-ascii?Q?uNxMBLicjJvOQiuC1rs6OI7p4qtWnk34lE8zsj8m8CvHSK4MdirumaIJYfW8?= =?us-ascii?Q?I2nRgK9DO2mvEjjoQOx8l8k5dhYQRfyjpGrU/AZFCuv9IUBkfNp0bk9zBPxJ?= =?us-ascii?Q?vqTnyH2+JKLXmjwNIlx+akoVLfejYBY0hgxG9828lNWiAIU5fAdYhdu+PVsz?= =?us-ascii?Q?xo26CTMQzvIYgMpszDQ0v9McRvmeSYvHIgN/IZ4g?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff0e6620-1729-4170-01cb-08de325332df X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 10:03:25.2641 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rxJcUiOEZ0Enb6nXHXA377Nk1foTbZFz7sKukZK52fP1YynxAVfWgvP1UBZfbmErAHDai2hTZlTIWxyGQZCm1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR02MB8927 X-Proofpoint-ORIG-GUID: oNhzXSxGMLcj89yz14BY4F_KPo_O4CrH X-Authority-Analysis: v=2.4 cv=HboZjyE8 c=1 sm=1 tr=0 ts=69300aef cx=c_pps a=pMGFFt+mz1AFwwggCsQ+3g==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=64Cc0HZtAAAA:8 a=J75VCkS05BzDYCChcPEA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAzMDA3OSBTYWx0ZWRfX+MFU/KOxRRZz yowy2UT+fLutM1yy2dp4Y/O7cfPIZSe27KQvRnLBNdMqQYXqx8QqP2wXyfOX92OzzLLOBsbtJLw U3ayMjua3mdJqxBTv6yYDr66LkLTeEdbxUCWVzBGuWY+QWE+GbIX4/M/gjJ+p6bGygjVB7oZ8lo K0n4s3D5+jpZBjY915ckU+fvlZwYQwv4Im4A2r2Oed02gHEHQrwTWz02zcUrZROr9Ccq9Cc3t+u ov0ZUQZ2KI+7aaEtzDc2Hyh8iWzdOPstqsk5aGFHfudz9BNBdcYUfF5cdO+WLgpknpPiYq1qP24 5Oig82arnIGFZLMrzsZ+fjKZFwF9cq7Y3D2MM6qkconIHm+xqcpMz0CEBMbLUGLewQr5UZn2XPK BAOgRY5915fqyKQmL4Ve7VGQwkLvKQ== X-Proofpoint-GUID: oNhzXSxGMLcj89yz14BY4F_KPo_O4CrH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-02_01,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.155.12; envelope-from=john.levon@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1764756233501019200 Content-Type: text/plain; charset="utf-8" If we fail to read an incoming request, recycle the message. Resolves: Coverity CID 1611807 Resolves: Coverity CID 1611808 Signed-off-by: John Levon --- hw/vfio-user/proxy.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/hw/vfio-user/proxy.c b/hw/vfio-user/proxy.c index f2601eada5..314dfd23d8 100644 --- a/hw/vfio-user/proxy.c +++ b/hw/vfio-user/proxy.c @@ -412,11 +412,22 @@ err: for (i =3D 0; i < numfds; i++) { close(fdp[i]); } - if (isreply && msg !=3D NULL) { - /* force an error to keep sending thread from hanging */ - vfio_user_set_error(msg->hdr, EINVAL); - msg->complete =3D true; - qemu_cond_signal(&msg->cv); + if (msg !=3D NULL) { + if (msg->type =3D=3D VFIO_MSG_REQ) { + /* + * Clean up the request message on failure. Change type back to + * NOWAIT to free. + */ + msg->type =3D VFIO_MSG_NOWAIT; + vfio_user_recycle(proxy, msg); + } else { + /* + * Report an error back to the sender. Sender will recycle msg. + */ + vfio_user_set_error(msg->hdr, EINVAL); + msg->complete =3D true; + qemu_cond_signal(&msg->cv); + } } return -1; } --=20 2.43.0