From nobody Mon Feb 9 02:09:58 2026 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=1764583073; cv=pass; d=zohomail.com; s=zohoarc; b=F5LMyE4I4SAk4Qo7o8uo+kZmMLSB+d84gXGYv6I18X1RZcJw+N0eYSPpx1uHqteMVFjSfGlM65VeuXoXHPmXa9xt4POKSSlbXLZdpoSZHa38lt5JB8UQCmA9SJxVULXitNwGRb4CprwP6ipX8gAy0nV+xRIwujlbH0E3ouYrsVY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764583073; 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=iljRSBLIuSWM9KMMLaOciPN8z9WmORrF1w1oYDyel/CwDTKCNL056IAM9F+gSVMZjfIArKTIj/CIPdwviFvVDYRzcvGbSL0Nmww0/2XH1wJyteIts+V0Srtse0Nqklgi3I3VN/GlW0acaCtB7NgGsMPwWGVs5iPcU6ILCl/0VEw= 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 1764583073214799.9275798998327; Mon, 1 Dec 2025 01:57:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ0e5-00069M-8c; Mon, 01 Dec 2025 04:56:37 -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 1vQ0e1-00064K-3K for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:33 -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 1vQ0dy-0001vY-Td for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56: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 5AUNapLc2237071; Mon, 1 Dec 2025 01:56:27 -0800 Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11022079.outbound.protection.outlook.com [52.101.53.79]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4aqy8camk8-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 01 Dec 2025 01:56:27 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by SA1PR02MB9865.namprd02.prod.outlook.com (2603:10b6:806:384::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 09:56:26 +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.9366.012; Mon, 1 Dec 2025 09:56:26 +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=oZOPNbqVVBcGpQm2e5rhWB+lR9SQOITHlvYDJL0npu2e6fP5enm+nzHWE WQxQaBnEifioGRaUqv4SfMvNEFyQ+v5B32cFYJnqvaRxXOYrxY/2xPha9LGNHz5r AhzVEf1rnjwHqqCOEy5Kqfus7XxNFkJXe5S7v/2zdzEnDbjZHNvY2Hkivs6AXO58 OGS2HnkP4rCQSdbWj+apa5PcI07q+rA8H5Yyy/Tn5s3ciOvqx/yx+wUF3mnU667T 3zWBisl14QJvZPLfQ+5hsbIsGQyZQcqXE82bsojhUFLUMZXXFYJvxVgyYWsO1nEh s3+s+Fl7JkyLJiNRu54XhV+SFwgQQ== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Z/M1SrTzeC3BPrC96WQM9FryDhoGHbK6hduGWvLN76KUm6xXCnFy83yzrAxJGTnnLSc47YlWii558u1rI1GPYJvuySCmVSR/W+xaoP9lWiGqqJfsEEsGN3/4WDPv2Y7Cb4DD1DVwpJhBMC9O6N/malCUShR9E5Y8xRx+6k2Sp5bvTTD4P/SyGANfNk6ukgMzT+u8QV884MKgrOjj03vIxkUP2InLc0Iy6FJ+ccmrlwqXcbM5KwQfeB3Pq8kzvD4DqC8PusxCSS7pcUQnUg6r9D+ksuFtgiLge/m9LUH1hTTEln9wmdqnbMIQPbog66GOOvfyYBzJhrtWQ/RepIYPbw== 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=rUqTHixyJdYyICpNn6kgXBbtaQO79XPlbSBjfB+QtWcVwo67oI6tciMNWLPPCy3Na1yT9GBy4VU10LAA8+YBmqab3DrRukbBPQUyHSrIZESsS1wzQwiNgN6OhExZ+117zZTmelBizETRwnJa79G1XMnE9kfUedM8EYzbjYiIXsNKRBSUBHmkhm1zdOrIT1x2SSzF2bYSbPEtI+liN/sRRFKK3Q0y2RLd61NQXD5JdMouBJJM0SRC54TIksCWnemrOkJTGSRj+ZDa7I3CHLuvZ2Zh1npYEXS0ZSLMQLNPERszWOAm5a6XbdNXHkkDbQQ7IDzPyNCtJWPbvnIIgWjsMw== 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=CbQD+Exm637F3ttDFdBgH0lW7AmjXeo1lICTgYwCjLnLpWhG/0OzayS4ssjTEosdh2tHeYspmVDGmA/JUUAkAAnsxGBZCp6+GqILIhfZzC5VABzvufFmArfcKw43KseHDtnB8dx2fyblPZvtiPsWPejad1CB7h3b1YOK9HmG6VL34vY20b3VICx09AC0VpFL0XzKtwfPjPVqrFvSm4C13qKkgFapkViXgGIbiRe0L3ceCozIjadeJj8R+QTawDmAM1ZdnruP9v9FZGbl7bEJ5CJ7vaJXfGHvTPq0rwoIDyArTijb+0U/MKpCkG6RVOKi5mXLqILVGwTYZ8kNfHgs8w== From: John Levon To: qemu-devel@nongnu.org Cc: John Levon , Thanos Makatos , Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v3 1/5] vfio-user: simplify vfio_user_process() Date: Mon, 1 Dec 2025 15:26:17 +0530 Message-ID: <20251201095621.2786318-2-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201095621.2786318-1-john.levon@nutanix.com> References: <20251201095621.2786318-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0576.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::23) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|SA1PR02MB9865:EE_ X-MS-Office365-Filtering-Correlation-Id: 7af92298-1b44-4b75-bc02-08de30bfe467 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sTvVp7iHN4oVdAxSPvPUdAFPvRwtEKSG2Hu8UKOplfvTl8OaFuA1jW/z4x0a?= =?us-ascii?Q?UUnzZoahXwsHqA0UbCgL+cr1bqAgncsHtPdzEC4dFGt9uTcYV+LAQn5lf4N7?= =?us-ascii?Q?hLo36VvWJlNWVuPKL8c5mggcU9ouSalnTnl7hKG1QnDlOzb1chiHMoEKvosz?= =?us-ascii?Q?svDdmgJWzP28zRa2Zr8rDyGl/EGr0eSYl3kMKxie1d1JuIWIjvfNGu527U39?= =?us-ascii?Q?KATUQOurHDr5IOB1jjsC/WftUlkDDOiTslzh1w91CbV8XqRPQqqQZquE5beN?= =?us-ascii?Q?buFO556UH3O6jMzB8VM9NXCqPXSI2RRIc1RkU6NJrqwnxG3rPgCzvcBmnjPT?= =?us-ascii?Q?6ZPzzj1bDj64TIuwtlRwbmoJbVJla+XJcNmEAz6cnJSaC660q2AA4RtWugMx?= =?us-ascii?Q?BADop+6rDFnM7a7+myufTLNKK59DoaEfeWNdBEo0GoC47x0l4mGcLfJ1of1l?= =?us-ascii?Q?4wS/H6QWHsdwDWAH4OWMOZ8xW420mQE+eCW8LOX9kwqQCoBTlYkduXLKbwQ4?= =?us-ascii?Q?dc3LMY8wJ4zTyL6jekhHkLEnsytYFY0GulguJR6F/+bXYNg469z4TSsI0CoP?= =?us-ascii?Q?E15qA9id1d7fj+Mp7PHbTBRClCj68ndRr/RLRMY13WZnXlltCVy4eY0NO63Y?= =?us-ascii?Q?eh1Co9s8Vu6fC7vMUO/wHK97loZsbDQOO9+RZQGwi+tmFzveDprPqBwOpAlN?= =?us-ascii?Q?mqY/Eymj0oaNnb3K9QzZf7F4e4TTnzt4u1CCTo975S88FSaWR+Et3UNOWCLF?= =?us-ascii?Q?/J3ZNUae2ITH0qnBqJKOFu9mHyGFHQNhX3Hn+fJ9d8FeiwVpv2MS9S0XEm1C?= =?us-ascii?Q?QkyQdECrPI9pZjbX0Y0VRXAxJ2F9tn6vT0Hlr/GTTgnm3PUC9/H2ZOBChk8W?= =?us-ascii?Q?RJ4BIEHaS66FlZ+yuVtaudxNvUIF1Nwy1l6ho+TziwvwVFA4QyE98EQWb9Yt?= =?us-ascii?Q?T5jz46R+z4ogV9kHCZJo/5O6xIlRiDE6NWRHpmTN8I2Jc79bZZf2w/o4zXVK?= =?us-ascii?Q?lIanBY7UzLGv+MVYf7l/oLn07YoPEwu1uKN1KrzsGdc6Fub4DDMHhnloa6cs?= =?us-ascii?Q?fTyWw75c2o8CsHAfKQl1ZepVT0bY6gj+gp+hpNCBcft9PA3BE37ckGs0BvwH?= =?us-ascii?Q?OUe4pWk9puDgcT5MTGuNDGIZ1GUbsf7g3jDPUrhUBsWhNklF4WQY5YZR8f1V?= =?us-ascii?Q?m5I6HmlmXL6/QeyCHIx/pbbG2km55YLVOcsVpmmmOwfWqQiKX2p59VGs7lfa?= =?us-ascii?Q?YweGdGrOdQVvyl8rxfvV2mk9ZCoJ6M6yewGA8ni6K14lhjWs+V1R+6ZwjlZf?= =?us-ascii?Q?Us8QBHAMrVIRIclz3UzmmRKAlxPVr4zgQ/C+QZPEuatVNsyIWkDlv3I+fzDm?= =?us-ascii?Q?149Yachr7cPmRwQxuy0NzRMYiWShCmKFctx+4lx1tRf+HDmzFzGj15LLDRcP?= =?us-ascii?Q?q0i6ATzqY8piz6pFbO1Pvzi5im5x0pRR?= 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)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?t76xgn79+h0ewgM8owmcEN0yFPqaFfRfQGsCYdbbQ77L4HWubN9GypD5V/o7?= =?us-ascii?Q?a0Ofpfe4BgNAXb1lEo/RwLjikgdY5tP3CZrPv01lOp3Hl9FyeV0QkpuIn5CQ?= =?us-ascii?Q?EK3So7M2WUipkykMUjG2t6Pg/+TLhuQr42w2w8t1qH217YRKkRyUR1nCxOuu?= =?us-ascii?Q?Sk+VgXm5WAJLzYIXZchcXUyYj5gP+neh8UFp0HP8aQiI1AOm4CWtwtuTAtpD?= =?us-ascii?Q?4pCXc9lsgilWkQKb/ZW9dsmhTpnJh8DkFuVZPXm12ciVEme+0PHxEqpqHSnx?= =?us-ascii?Q?SuuI15NhupXrRdRyiIdWX8nA5t3eHjQJ38LYJyJ91Jipv6OrxUFd8VzN5U6n?= =?us-ascii?Q?h5h0ZeRtDQHZ3Vat3GkO1+wgHz6QswCApVethM2Cd6N/2NYwb/5C4oCCutAr?= =?us-ascii?Q?o/LnYkAr+Oi0dcqcloQDCOI7N37f2mDIyO0WideYAaBbbVgBn5WJYJLk50Lo?= =?us-ascii?Q?mzGvpuDJFASmosfIcVMtL2cGf5bL0mRN29vnoAsFEoAJeWvFsy2QFvdGTVZI?= =?us-ascii?Q?URU8VaWAIbA5ObYjUu6cyuO7KlK5zMC/okqN9W0JyWY/j+KWCE9bq4V5lehC?= =?us-ascii?Q?k2aDcxwtx3bAJs2JKruFXBY1qYFQ/W+kMvMZ+w+0yP0s78E72mvEevL4PxAj?= =?us-ascii?Q?cJKCMbRDHFuw3nMavIoKjuPkQ0hd4wsCRE2ex08UTBJQFksLlgB7ngn5G8U5?= =?us-ascii?Q?CyomQDNQFVAR8+DhrxY0odNbm+Kdag9ZiiGFr9iamQNHRewEFCKfo8Twg9ah?= =?us-ascii?Q?oQ6WFYt17+DfgC94ztHUdcmcK2/dowCtY/0uBgkdHQzC9mp/eW+rrL4VYHKH?= =?us-ascii?Q?W6IAMhAYanA7qHP8pauN48wNNDZfJU9EHPuu9pspV3yMYQ7PyeL1gKEGuaki?= =?us-ascii?Q?rBVAtHnu/hS51+nmPZMcpa9Sk0WAFpBED9bPyCb1wjZyBzm7JyDYsi7tpT5z?= =?us-ascii?Q?9Byq6OEczrrUcHklg0SXm1NYN+tCEfjzI+4UMx22RAsZKbd5ngsvdKSm16KB?= =?us-ascii?Q?wKwXqn/InMLCUexqBOh0GPbNM/v4zVT1uBsEzQlC+5r+jnKO1hNxxYhV2+UC?= =?us-ascii?Q?Lrp9DJtTGuAbIzt1uemWf5sqIOi5N95nJHk2rmhIFxrRLiapdQWG/OiBzIej?= =?us-ascii?Q?N40iTxswj0VHA9hekEUGbq7bA2+RCKzvlePIdt/fwUKkzr9UQJKI9HRIvj0V?= =?us-ascii?Q?Q37z924Jscuxn3z7yrdJ65adb810/foGYnKI7LJjaoKZSkoWhM9KjBHx4BS/?= =?us-ascii?Q?7c1bFc0vHuUdciwNk7OeZI/CSsGrv5tnTRuVzUTko1cRMkz3Nn1o2V9yIS01?= =?us-ascii?Q?GmFdkQLy1g1y/vcfLqgLjr55R/FH5fYa8CreilZ2NSlIEMV0lVQhAAq3GXPf?= =?us-ascii?Q?JiSX8MkKNOcoh8Q697p2gLACTMa3IJ1O2El2QzfytDN56a9YzwAfEgU1G2pn?= =?us-ascii?Q?eUaSIuXSUvI1tt8Qdioy7DXYKoh1FPP0yXcSmiVfFv9cqtwBtpHDKmYCwf/o?= =?us-ascii?Q?8MwjdmUQzfDwYqniwcyz2L85eoMnvynt9aupd1biW2FUd6nmM8c6eBnBs36+?= =?us-ascii?Q?T/wjsV49KSEhnbJmLfq7BPX4/sl0zuSHeQXmK5w2?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7af92298-1b44-4b75-bc02-08de30bfe467 X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 09:56:26.3497 (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: PgOpM3yk/18CWtP3AbnTgjlod5buxTDP7UBKLrXR6DxO8BYRMYtUfy/DYLHdtENDOKvd1Nl4V3X3uv6h8qs4kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR02MB9865 X-Proofpoint-GUID: hHZ8u3vR60u2o4MAqCBo-MgGDpHYR-s1 X-Authority-Analysis: v=2.4 cv=Q4ffIo2a c=1 sm=1 tr=0 ts=692d664b cx=c_pps a=Y1/fp9MKcFODYkh4PiV91Q==: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: hHZ8u3vR60u2o4MAqCBo-MgGDpHYR-s1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAxMDA4MCBTYWx0ZWRfX9CfWze5wdbLb p30hFq5SqnQh+IxZvy1e1ApMgqRdFc9ydPPO+adxWTG1N2VPyKf9+GPJHMmCVi57DisGTWmkNOu lNU/OPmzrAc1sbO1y/IQlTiea0loFPK6LjmkjRkR8VsiSWBzEkcgt62Mf/WflYGAGlomVebxzyv Lw7grBpMV6HMdJo4RxEUZiucgK0IDO/Zq2G6TfvEV0ns45gs+N+5JxhOhx5A/Rxq6xt5lSEVZuA awdDdTDh5xB1EMdMNkefypvB4gTpkKtvpMnzthtD4UwyGn20oM1esR2q3ZSW6U2jNt8BBZX5vzi MS61fTARjNIo1ZLwXM/QM5qnasbKLBB0NCujatUar71qgg6P5A509x0ewCNW0UKNchpIHunZS4O R0l7wwu0c/a9D1LhTDLUXbyGiEghEw== 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-11-28_08,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_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1764583077307019200 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 Reviewed-by: Mark Cave-Ayland --- 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 Mon Feb 9 02:09:58 2026 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=1764583031; cv=pass; d=zohomail.com; s=zohoarc; b=P8AbFtCeUBsfj/H3XxI7S7mMt9bgB1A5BkTvSqzPURW51h0kIn6aLIIH0uHJY6COsMN2SDVykPhIsJzNbhWwyS99ImJ32yEypNOpcUtvtgx1Ybnsxrmt118ZxrYgKNJfQ1uwNMkmlYN4gU0cSMYJoDLPemJxsp1fpjAjK8JYAmw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764583031; 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=HvMewDy78Kp+bMWh9iK8xFOIu4kygL0FjItKDrIkLAiFQfmudteR4WGG/zi6guPbYMEXW5NuvleQA8JLU9StKPl7LcX5XjQaHS/4VcDNXt6ABGHeylH5eBPOrJ7qtX81IHX+I7kRc6sCn6P4WEWuiUGJXMZcvut/sK9Ry+XHYHg= 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 1764583031239845.4957299863555; Mon, 1 Dec 2025 01:57:11 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ0e4-000697-Vc; Mon, 01 Dec 2025 04:56:37 -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 1vQ0e2-00067v-6w for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:34 -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 1vQ0dz-0001vh-Ms for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:33 -0500 Received: from pps.filterd (m0127843.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AUNdBbW2263336; Mon, 1 Dec 2025 01:56:29 -0800 Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11022081.outbound.protection.outlook.com [52.101.53.81]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4aqytnjkna-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 01 Dec 2025 01:56:28 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by SA1PR02MB9865.namprd02.prod.outlook.com (2603:10b6:806:384::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 09:56:27 +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.9366.012; Mon, 1 Dec 2025 09:56:27 +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=x88YPOiYjFpyW73RP94xctWm+tnABFZQaW60kbVloiLI3fTsQMtwGFHxG qs+HK6YhxC3ByzLBpU1aljwemdLtHJtqbsx1bL/pinVQMv0x0HCyuJV5iAMxBKZz qeRkwE4f6e8qTvF2H8YQY6Xse6g+Svk98PP8p7Ch124IkwnXvQMBgSZ8iF25KOJM Wu6+0bwhEc3g9YczGFcqGSRkSF0ydpVdvtAaaa8qyA7qlFwn67bUEYN4UEv1Jhl2 v3Wi9H5sGCcSXeB+oixESlQiWQYmgqODhMEo/PCT9eoOHrxUe+D83P5a36qilYtg KTleBHWRM3I5iCiUPTChR+eAljY8Q== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BS3U4bmhlspMXU/GXezJOvy+7lvqj7VUOAByybbSuP0CxDl67PnqKhyX9yUhIECFMP7VQeLG/OkXaKlCD59rwoi13Zr6c3Yxp+QxHK0KGZwbx2bUiKsamt841fnKPYtFdujM/CLhJgioPToe5u9gMPe/YCIAD+jolNDPKsxxQjF6gWKJAlnYzYsqlSg/bDNiouXYNGgz1a/XnxIGajgEG4edDx+46iroTw6wED4ZaODQBt1Edf8zAiuHIwKIVjT0CZiyTCnlvAiazPG68ZfdgRxl7tufaMmQhf4mpBMsVFoACGxzUumkxerdszHreZ3c8aJ709QSR+vBKWQGd//knw== 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=EKFBMbc/92OLgUExXR1CqsflFUYMgheap4vgbu6VlAyKieN3YE+k7gTLkO2CdDESuSuVi5yz1fkSQpkO9bbr7ZfQL9pv2B/KjyDHJTiN3KcwFjHFGvUD2vnbYlwnj76gAmClhk6lCtTfDKgfqiBprGJRWwhb77j3HeBFZ2uWqiPQHJmrX0NCxlgFRnkOA92SamgE8CRqcU1Uyd69snQ9+nVmZgAVhtyQFqCTzcZ578Hg2Y5AQXVcyO5bPLTR7lWlVv4TWg2kojoZmx36MnFENR76B8X8fZtHJEePGvRx+yLFUuw0gsxhQvrmabYQ9dyIJINGAuMPutaYq4BVfDFyBg== 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=TjKrHPQT7APy0Ar5jU4X27ItGBGcbu+CPHgBFIUXPa71x4323JO8SW++aX8MyMRhzPK4lvmEjW972Cs6lvAVBk8PDFSKajYg/JzkHXMshjMSuFTFSLHBR1VtNWX0Ttea29/sBcQOVpMywm2O9BlrW76VWdQ9vJZQcvQ7VwPqNQUPNtAFkHQBBJjYfBtbuNAJPbMHwlse5Gl+NCV1t4+k2JAZf/SW/xtZUoeOLHMQkjkiSqEtV0uR2VJAcyO35cH+zC2OXaOa4AHmSxSD4kLSq/v26O6+qIQBK660fm6mG6uKlFtMw3zdu43FRVnRbWtBH03Q5w6/5ML6XPuSXrYE5A== From: John Levon To: qemu-devel@nongnu.org Cc: John Levon , Thanos Makatos , Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v3 2/5] vfio-user: clarify partial message handling Date: Mon, 1 Dec 2025 15:26:18 +0530 Message-ID: <20251201095621.2786318-3-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201095621.2786318-1-john.levon@nutanix.com> References: <20251201095621.2786318-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0576.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::23) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|SA1PR02MB9865:EE_ X-MS-Office365-Filtering-Correlation-Id: bcb80a06-0fec-49f3-ae80-08de30bfe513 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FhqxQLkXzr6iVoXxFXG4JsQt5LjFfcRGpDZgn38RRdoT1x+YnBhUVgUjfud1?= =?us-ascii?Q?Baset1XIsnUqY3QSQy60x8ZHJrYnaWpDzU3mAGvDCTUKny0CC2phKycNciQs?= =?us-ascii?Q?7AblEL7JN3IW7HddrZS474Vn8ELOliWuw1UTxaRBus4Dt0RjTxM70BBnZiur?= =?us-ascii?Q?n9GSvJxmT7TZrFwabmLOBq/9t0Wl/KyGa1njXAgWjETU5EV9XFd8UklflIAO?= =?us-ascii?Q?GbcpqcRyKHzA2MgOcGUU4R4uWIuw/ZAvJw4YEczJHOB9hB/hdRqDen735DHs?= =?us-ascii?Q?RmyopWSxcJbPrhc4i/DhXBlbZcpRz8hIqxCvsF8U+fqDkGoPynyHaUcPi00N?= =?us-ascii?Q?1rPwdSr9ugVb4ZaZfyxBsgh+rUQMZVtsKY2HZhLBKbxB9KR7re4LshWAmXVc?= =?us-ascii?Q?oeHNe8TcSysV2ccx0Z9Ytlbuz1TmVgasXH/kTqGs61ScwfQnkl0JI/cxhzax?= =?us-ascii?Q?QqdAKDMiZwXRsznioxrkBFYXMZWx3iL1fpsADPTn5lkqbuOeGDXHxIQvty7W?= =?us-ascii?Q?HUYje15sN5wk13eGGBA+qAooqNnLquMJupph/C/Cge8nyn7GLkhXCvmpsDej?= =?us-ascii?Q?+iS7wd1qmP+5fwLda2YmRnQ/G5pikC7q3hVQpbX7asT0u2SV1jIUGZcS/rPL?= =?us-ascii?Q?8PCTZEp+X4/+01wrDiK3qmOLRXgGxd+Te248G9fBCusFwkdhylK/KmsmW94W?= =?us-ascii?Q?qAHrK9qxn24c/qny/n4VKoLfe8+ZlxEnVNWKN+uRM7GS5wisUvm96kMLTjkJ?= =?us-ascii?Q?+dbjs7mdMg3RoiAzl/S+T8o6WRJUD3NV5M6iz5ws8aCEuRCBIDPUS8bxqzQM?= =?us-ascii?Q?7x9Nb6wFbZdeNNjy2Nhl94ZT5Be9fWbZgyx101c6QOHY1WbB+lB1u6YYj3Mi?= =?us-ascii?Q?RQAApMibIRaoxgihKqtHeUYO0a0t8CBZnEMIfMIQK2mMWrVF/1JIg9ExAEqr?= =?us-ascii?Q?ip/Kh7j6L1e9p/DCTASoNWt78jCJJiSWpP9J6nwUI43ir0MYZxHaUQSiJFZS?= =?us-ascii?Q?WRohIP7gXioBs16nwjkfH7VvkGtLF2AlK5eq7aLgaBQQdofgYOwLMXXOdCXS?= =?us-ascii?Q?ob9m38/JNpMDd1ipHXxqRGuMtwxQQgX4cefuQsWM7Uldeg6iy3ANZJzuN98I?= =?us-ascii?Q?hBbVZ1/7+pT4lseZC3hO56CzxsA5q7I45mdJWx5/p3yP0cEYVKmrI0SuDOZt?= =?us-ascii?Q?B7uCQUwF5LQ+Y6o177+EWfQeQosDMXG7xw46qzY6JmcDpLBF5ylGUOoB7/tV?= =?us-ascii?Q?/EmO/5WMCCPgFDpmOeNAQT2YefcoHhlf4Ljynvbf+ejtSxWF7w8ijGN35mc0?= =?us-ascii?Q?0zvPvbEHGVJADUTqKyb49bg8pa66mE8j3ZcYR895/mLA7ZuARts4LwnAbmzV?= =?us-ascii?Q?Ip4mLZOZQc4e9GGLmH59zYJmKQ02aqUH0o3T7v+ajBfZ3bfSD/QrBcGOiJ1W?= =?us-ascii?Q?hheczVGoCiuDsJsu/jrVyt3NiaAorXuU?= 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)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?atf6xhNA1XtCq9cQLhIFYs0lHMBAe/xhMq6bi1Nke8BOAIeCq5CY/cL+RGrk?= =?us-ascii?Q?5QYS+D2f1tcq3i+4QEc6SdWKWhDom7pChsUZQy/GEkiI/nh1gQZZM2/LdQnT?= =?us-ascii?Q?L0i4P3qN9eDLRW9PZhkdfvITCyGnX8q0A46JjKxrAFA+fE8iZr96xdoVDauo?= =?us-ascii?Q?yahhrxQ4UMaPmu0CczvUfhedJACyl/ITy4P2MW4V2/LmDLOG2mf5f3UHuonD?= =?us-ascii?Q?MRV+zO7F/EOAswMod/gWCxXyxrV63j2a1hFTmMHzt479BtRnhkg+JnIg17QT?= =?us-ascii?Q?JpAw6wVMdWguT/BOypzW/RTj1op4T9wpGvnUIUZiFb9SJaQHZ2TqpOm5dgkD?= =?us-ascii?Q?J3UVEaJkqjCKEsmcYu+UZMkgE8dc2mFwfAkshOSr6KsE3Oq8eMa+xGLLKKKz?= =?us-ascii?Q?+NRHpxqHb9Li5A7sH79JMx/UnqRYhzw26XWbxH8aAe5beQYGMOuXRlr2vfez?= =?us-ascii?Q?s9XugWGHoAmNc9S/n/n8pqgUwQfD/bl82vmLKvyLpMyWOyKzq+lJ88cOIDli?= =?us-ascii?Q?tRQ1xTDBvs1x6s+AMe6S+aFbvU/SCny7/8Osrv+KsCqYBcxlV+2/9zah4mI3?= =?us-ascii?Q?A3GQQYHBS1Buu3zEYQ1JPOTSkXqIy2azK9H48JkKQUvL46qIOahI+7aP+8k0?= =?us-ascii?Q?OTwnpGrr7O8kc1J3pWpxmkCOqx9C6w9IdlNAVcyvJYbfAFrMVvXpCX0PJIVj?= =?us-ascii?Q?2bHP+OruFx+q3ZvqV2aEkajHaGvYlVTst5CtE3rUBunwN/34CM8EXpIXc4D0?= =?us-ascii?Q?Wn8P5eIPlYQ9ZCFtFg/zta+pF4blbSgGBHlQw6VHDCcLbhVVlVTMFM08Bydr?= =?us-ascii?Q?TXNd0/c2TC81Ia+s8iV/1kLwaGRGPx1QBzeNfxT3yzB0X2/aa7gIQGr+rk+N?= =?us-ascii?Q?xj0p9stZN7QcEwv0luRANMESIQKLmV9n2egrnBb/c5yaqq+wHlS4D699Cxlc?= =?us-ascii?Q?gy+1SPbSiV8OucNSKgwsqWt1uHO5aIxJSfW2BSKtc2SzzIOan1tOBZP7H9wg?= =?us-ascii?Q?//BPNaf0JcQVSn9+CxptL+6C+d7g/DPMxD005k3v6H7NgYQulHW01rRawrtC?= =?us-ascii?Q?oV+FsNewDlNQj83/aqT+bz7bQwgEg3XCnms4LWAXjKfewAggFpIbjjh/nH9/?= =?us-ascii?Q?rmwt6eYdPIBv4Y2s97Z6o22uL1YdEW+CMcbZDj6TJjRF9Gt5vIdcbBA3dUVR?= =?us-ascii?Q?pdVUSfU8xGVQifRIHGXwq0oSq+QSCsC4QzfM/XNcHUg/lGXU60WWQSTsMFic?= =?us-ascii?Q?FAFi85WWf/3P9ysDfMoWafL3Yk3Y0aSACXrVNb9ywzMfwSf8fdTI0KRq1QBq?= =?us-ascii?Q?xh0Kh8bseVS9XYyUYjAPGfENlxcvygnKlv4bnZG9McVkAlv8rSzA0K2bY4bB?= =?us-ascii?Q?Ggi5HO/w/6kgIYT3o1FLCFt7N8epYnAFY84tPo2z8cINMlUYxTL5NhYP+87p?= =?us-ascii?Q?M/5T4+QtUhKN+icIKRRjBL9s4FoGWQqnaiLk907FaIiZKJG3VGlQKuHiikkK?= =?us-ascii?Q?PBwIuQ1KAtEtx8Aeyl+q78svAkp0eeyvidvScKBchQ3jH1TbWzw5UmfTEDtg?= =?us-ascii?Q?nAgamU3cUI5Khbiaa+x2zbCzBiu7l3RP4JB9QzIM?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: bcb80a06-0fec-49f3-ae80-08de30bfe513 X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 09:56:27.5580 (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: OrWdcaM8Ge8q4ce8ww2I9yiLCw/8+sIfUnuSoJBd37Mbd3Mchxpikzxbw8rc/PiQUkDhjKCjH9N0zSRaRjIbxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR02MB9865 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAxMDA4MCBTYWx0ZWRfX9yc2LWHxK6+4 mNENw0BET6Dp9ov+6DRi17fNsX0lnmLCbrPIpUp6oCSuOZw68DjwsKAIlccXf3NeUIHdvMOmtaw Ahzi7IEcetIk5H/cLSKrRpiuoK7D/2m7VNZjlUhvaTg6aizgjP94xoET6t7qyjMmANNGMKLrSq6 rh4O8y05IIekF4Z5YBKFj/DHQY/tylp5nQYCqmaarR2IqycsK1rJDMXxrI1k0qG3xat1NODsk8W DbuBZ92Qh6La+bpqN9y+lTuOlDwE8wQZYiPtAPbv9nGAy69irhsECEBwdmEQft0oHkPuwyCXp/A 5vxb67U/b+HcG0afQdSYG5KSV+tgvSr3wWiFrbHGmUxYGHHUoW0oUQBnAHhXnE1bUbeT+jT3Tdq AYiKMdo9eLEyuOkt1RWwfGwOntv4zQ== X-Authority-Analysis: v=2.4 cv=TvjrRTXh c=1 sm=1 tr=0 ts=692d664c cx=c_pps a=MVTdNaybHAW3nHwJGrV5wQ==: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: totH1I4oc4DMeIsgQBTWhHfkb01Hf_6y X-Proofpoint-GUID: totH1I4oc4DMeIsgQBTWhHfkb01Hf_6y 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-11-28_08,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_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1764583032913019200 Content-Type: text/plain; charset="utf-8" Improve a comment for this. Signed-off-by: John Levon Reviewed-by: Mark Cave-Ayland --- 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 Mon Feb 9 02:09:58 2026 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=1764583032; cv=pass; d=zohomail.com; s=zohoarc; b=GUjNoqhYkgJX7ygvseOxoOzdILBWkMNSq6UAM+a6excBUBSuYcIAY9HXQ6sSouTCFdtzgPzIO3KKuAlZMqwQFEm+bqi5Be1Dmaq6pRb8TEr9zp4400bPkzOzXY9y3cBSK9gFf1C0kOk3qif7Y5aLl3SfRQwclBLrfYVnjFRiNdo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764583032; 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=V5SGEcykyIcg7kkW61/msA/tfzdKNwXkhKT/wbI1b9A=; b=QtBLURoWFQtTI+9SieLSnVdb6CUIW63fgfsVODLDf2LmZx90uIhwdDRtJQXBQmpau7mY44Pa6S62V7FGtIkjEbHwTnb0uS6CxP5PYWMV8kM/htQh2KPHrbZiStsM1qEWc+m1GY+Dbsr70aTan15WHG65CXXIb6nN+rbZ3MVGocw= 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 1764583032191565.5844119495641; Mon, 1 Dec 2025 01:57:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ0eG-0006Du-DW; Mon, 01 Dec 2025 04:56:49 -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 1vQ0eE-0006DL-J5 for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:47 -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 1vQ0eB-0001wW-9j for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:46 -0500 Received: from pps.filterd (m0127842.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B19r1Qe1346015; Mon, 1 Dec 2025 01:56:42 -0800 Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11022114.outbound.protection.outlook.com [52.101.53.114]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4ar11e2hs5-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 01 Dec 2025 01:56:41 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by SA1PR02MB9865.namprd02.prod.outlook.com (2603:10b6:806:384::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 09:56:28 +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.9366.012; Mon, 1 Dec 2025 09:56:28 +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=V5SGEcykyIcg7kkW61/msA/tfzdKNwXkhKT/wbI1b 9A=; b=fyBGbs+1BMoMtTlde+tnN6IGD8OIeZFkogWFhdvok7vUJ95cl2ucC4uPn PQPvoY7N7hKP9465JzkdZsfQjRJ9nPZ2v8dLx18U25EaP4tDqAzHSq2J1UpzLk9Y UAc1XyWo7OQ1HLM7p844HqcNojn7fRtqlZr2Vko0BRWSlCMLhDKYfUpj7cEsAyDR SydRoBhIFjjdgIEkiyVAm1sOyUqaKmwuy20QEeQhZt/WNm7QflDmroPG9QovB1Tf sllmQW0xu8wazc9vXlJuNmr6ndQJWSLyllIHg1Jf76IRy+p+HaCo+lD1ihqcsT4w kvNwffdftpnSMo/TKjjjMtmq0Uk9A== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k9pQAWZWMb9VTFxUE/sEQORrZtYDRF6HVW67BuC0ovDNosQp9kbGdYqV0bnbCRyehW0Ubmg70jfc/cCiT2yGsmsbeHCsFeiwCXYQefhodUIZd7MtXtqXaAzCxAIZVBjyX5uUpSzecgLf0JIRzhkGn18oOlKsiZG1PHycJ947ic5+0NKojHbMD7NTDlD7O/fXgdHWQ7xbd8ASaWtrKMRdPiKQ35eqzp+X10hm0vJfGPe0rnGOcGQkMkDYW4A/NkJjylmBAi7wmxSHWlYOuRi/h1wxEiDJnPJzJc2HWVHIHg3R+WGSu3TrhQj8aWknRa55RJBs5UjedB+eBiZ9aapauA== 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=V5SGEcykyIcg7kkW61/msA/tfzdKNwXkhKT/wbI1b9A=; b=wtBTYC/jWd5bcKj9G5vYzDsqGI+2rRjJzlQV+Z91nkO6Mq9VAkNFE1eR8ejAvRaH/2IzzjtQLHIvMdiwWpz/cYtbVgD32cekyHP6oxMKx1anESVhvOTSXgZq04wI+5vPmPcCuAz83vjppM+ZsRfUjJrm/fxIry9lgm+xg4fQaQ/KuejpvsaeAfX3YdE/43iZQgzXoTZx1ZLxYCEwBcOQg1ApkFZXWtglNhvvjmoLL1ZSaR0UFZnLvp96eQ2++7CTI3HGohCHfvg2EC8ZtBKhCCa4ztwno4dG3Tt8nExAw3WQwIJrrzKP4XIQKtAaiy1J1VZOdac3jE10hpEAQKYcbg== 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=V5SGEcykyIcg7kkW61/msA/tfzdKNwXkhKT/wbI1b9A=; b=FwkjF0FEGRNyQQP2SMlOlpzRUcJS+Dph4CjkbI9pMmLkaSF5uX/VRZQWXRbjsPkiNCrDvZpBhTTXH5I+88tjI96r12LXYztbJNOEQMzoSHqv2Wi9gMzo2+DhM3vH2sXDa74oXQczWqpPIG6QsHf4lB6V4XdEQg96QnaPuqMpIoQHbVsKY7bFhS05kotdGMyCeA3j3tBeSxuwRZpvo0Az9xgy2bbsUCuyJ96Qmjmyg+MCQlcLryIDwzONXvcEMsFC4eq1dM9owMtTa5RKZymS1IkDisYbBW3/zkztYYwNU4mUgmiIAQUHqaZX9sqYSNqBlliGV2F5ZbNltMyZPJcXcQ== From: John Levon To: qemu-devel@nongnu.org Cc: John Levon , Thanos Makatos , Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v3 3/5] vfio-user: refactor out header handling Date: Mon, 1 Dec 2025 15:26:19 +0530 Message-ID: <20251201095621.2786318-4-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201095621.2786318-1-john.levon@nutanix.com> References: <20251201095621.2786318-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0576.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::23) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|SA1PR02MB9865:EE_ X-MS-Office365-Filtering-Correlation-Id: ddb0965d-75a0-4c1e-5908-08de30bfe5c9 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?h3VV4zwWL5AontbTJ3U2nO7Eqk9qCqj0TXtkmCxqQYeSlCdjLcMWL3om0K/m?= =?us-ascii?Q?PUZYh4SXFt6h1Wu/+7zinLIg2byjt00a8+RrSSWAD2qWMuvQwhRMSaBp19O2?= =?us-ascii?Q?j5EbLkbCANKjZnNhFf67KeRD8hgiK4GS+mnt0YJfY0VQDpXETKRK5W2kvgDX?= =?us-ascii?Q?kW/TXPGEFpONBmYm30R0qHb2MrxGjjdAenWVQ6A32PpK6B/sKi+X9z3mH+he?= =?us-ascii?Q?/oRRv0aIi6wALEiv1AGhmTB451xnZ8GxsJuFXq72iMJP9Gb3Vs9Ehm9D1rls?= =?us-ascii?Q?OYshh0/Ht68bWV6BbmG+sI/4QBybqMcYqEw7c1Df1ew/asBSsTDnrk5AfXgo?= =?us-ascii?Q?ohVE1N3QoITQ4tPtiJU7HaWuYV21ZRKN3QsyQiOPIHqWn3VUksTXryEnfRLM?= =?us-ascii?Q?FTKEZup3o7ulVISfWEbtI7mHyk/2vSC/El9XgXtIyA3W7o1az/J3CHJW01kR?= =?us-ascii?Q?NXAqtBAUZgFGF7JLmJSbyMrg6ggpxUShwm4t1etxw3mI6kRufsToI3UNV6LE?= =?us-ascii?Q?vLBcZhULmphuDR9+MiHRCz8w5cXwwFvpSBf0t8f6ocmqea5RvVkxGUHoMf3A?= =?us-ascii?Q?8orfD4OGg4AJNqsTueH8LC2RP5cXs0cGoLBoDdhuVoSSpZvBW9sB3RWwgUxU?= =?us-ascii?Q?xYDHLx7TXn/UzECjPia6at2X9zfB1SnKALo8zNL4O0uuC4DES7dysp54aECd?= =?us-ascii?Q?LKAf3RbcfLOqANrF3mxYxDGf9oQxfKymcqXgaIbdf2u3tcPrtFKx7MxraghO?= =?us-ascii?Q?RkC1EjM/Pk7mH6DapgprVfAu29WHS8ifAmW2yxJSOyuo8erszuvDvH/7gR0l?= =?us-ascii?Q?OVGX65RU6WiLDBnTUGZM4QDd5/hXalwNbCYwHgMOXbALfOiLA63qY4mKNoQC?= =?us-ascii?Q?DhhTarJQXbaSGBPuAqEgIwyoQ4C37NTskbCllCftbOT+9Lqv3iwpF1vDfzjl?= =?us-ascii?Q?H8Hr6ErcoJ6cNfkCAtEKlD/aQKWp5avesHg9v4wmPVUcZzA6AKrTF1wnxnTc?= =?us-ascii?Q?iwDGQ1SnRB6MLwExNXK0qEtWc/T0wprAvFewnRxUXmsZs2H20vm+otnDi39r?= =?us-ascii?Q?uwBjVx5CVND+wJypqt9Tn02h2KPuPQFKgjAjQs/TFM9VYHRrRjtn+pZE6u/E?= =?us-ascii?Q?ipKyLiLVI4DKK23bL6wRGTF4zNCltj3nPpLBs0QnNt9/LvVice8JQX7gitC7?= =?us-ascii?Q?OuwhHanM9bqlW8R26AGydreqNNzZwftTmy1wXCfMyu2+qrjGh0vRLIaEb2nV?= =?us-ascii?Q?OL6S67qK1k+Vx5sWKUohw06wRtsIseRvLI6yOsfWYn1NGwWVM4wYUHjv81C+?= =?us-ascii?Q?tVGTtIy0oIovjxkiOu2yL6xSAbO6FirPtM3DNvDHl5L/KPfOeki6LBaHNH7o?= =?us-ascii?Q?RD4/vt+ONtrlkrjRn0P7hOEtxauxAY6tJPg8/440NlzQuN+FSEMfmem9eNeS?= =?us-ascii?Q?YTmImg7tQceKHGxp1Zp92j0SDW7++yk5?= 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)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?o7KV+aToniDAGsHGE8SaNB53tgniCkxtVM0jOPRHAEtLH16roQuUsZ87r34X?= =?us-ascii?Q?tIOBCb68HnB77fnHwUFgU8FQfn0vNKRS/VvlG1ljD0iNQlhpp0GJ/6TyD6+w?= =?us-ascii?Q?gjP5tQZlqhziGoMea8DGgP/a/HqniDPbKAD905gnjCkA+E5kxSSMMUFmufvA?= =?us-ascii?Q?3XTLbck1lCALNXMpkwfygnnuZo51LmHPc4/KZ1/uva8Kl4ZyU0ml2aOdGEsF?= =?us-ascii?Q?yJ+WWwcbqB7Y6kWeBXlEALCkKOBA9n7L7RE1k6HRe5Yx7bzX2AX9RRksOyRq?= =?us-ascii?Q?9yM/7YoDszmyXKdCGSus0EJiO9l6poMDAY8dKT+iOHyKrmWMyqG2mBICELSN?= =?us-ascii?Q?1nzq9YYTG5k4QFZInJYuG7MLT/Fg6Lo07+A5TQQ7qOgF2328tmeBRYXO4XjB?= =?us-ascii?Q?Hb1BWhKwtgO7XgPiy/GNpeOcFltyMNW8Ki15lOcmFefMS0191ai3mPdRYOOh?= =?us-ascii?Q?Is1KarohBG6ahFa9inkFZqOEdCrOgbRhUTybS45uuvyUmVDHEqKuktaFHQfE?= =?us-ascii?Q?Eqi4EDCHODyltfG9Iaod46XRTiAygEZj4j+hoKWnWvw+A576zrEdqY+BJqEP?= =?us-ascii?Q?5TT02YixJPh0stO0Qj/ilSzT/OGmstKcDpRsSNO7ZyJBZ0Z+PQzabQFUrflx?= =?us-ascii?Q?XW+65jfrE0QLaaQvy87JWIx5D7QbwHcHy/QJLKQQAZzE/FWWYal6d2l9nKRE?= =?us-ascii?Q?Nq0G3rHO0a4ehX6XMfUVH/TnSJmCL1q6If71S4F2rlxBYFZHQp3FeBtl4NF9?= =?us-ascii?Q?Gy5OCp85MceKVUdk6y3BS4j2iwIX04oc0zXDHevDiMHDSSkvonBJch5nVbTe?= =?us-ascii?Q?LjJXbUMwocFJGBqSMrTwhKq5Pb/wpOKdUh649PfmKUGfek/0mMpIzonoC/1C?= =?us-ascii?Q?hJ5Dv1+jeZWHyk0LnHPGLlYpgLv1X6uHD+wxPmkmGRMFlwmJokh60YfKSIzj?= =?us-ascii?Q?nPTmHlHDpfUBj61m7H2w0tabqliMYcvTA+7+Kl+YGYod9rma5d2kiCeOoXYI?= =?us-ascii?Q?XxHV97AZ76qK0+woL4sWt+Om+SHA3s6qBHa4cd2+kTqFYT0zLQ6Bl/1ocusj?= =?us-ascii?Q?oL6+tAx6CIm5DDXjF46zTz7023Jq60phwgX4DIVBwob968OVFR2OiCvOCYx5?= =?us-ascii?Q?g8sUwGyi4XjAgoRgYIdBiW+KMw8bpe0T0AVzv+QLl4UepnvepS5bCReM/Ol7?= =?us-ascii?Q?OvueUBpftQTaKxIOEtYw40+N825jaMbMelkLfIWPqLdvxTOKGIl1Sau/4wfh?= =?us-ascii?Q?u/PrCDrwROvGk17tUw7UjbsyllqUWg6f/QQQmQvnGzJ5Qzes7MfV2o+HXJ6C?= =?us-ascii?Q?miriglIr2IgUO2CSy+39XHM42e0/WI8aVAcumyz4+G8hYkIjAzW86Sc0FoP/?= =?us-ascii?Q?zKBmimv5DQrfPMj8SFvQYo3TZLWzoES01vwfC9wevWR/DaihM34pRTOOu0P3?= =?us-ascii?Q?8Mo8U2Mt+ZZeVYpLBS66WxLd67fxhLSAdPxl2F0vUUNqWY4VWrlcDeYM4FF8?= =?us-ascii?Q?t0Z/aozX1lw4+AVYXqKXJRtcQ0eVZupHVBOpi8ji5NGJLUCafLamUv59xYI1?= =?us-ascii?Q?NS+7JvGDG9vLcvTNyoNEnsQLoK9dFgVNxO1jNV6L?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: ddb0965d-75a0-4c1e-5908-08de30bfe5c9 X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 09:56:28.6147 (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: 18zEaduS/ipRu0f0MNNuu5Fpn54FVjWTVXFStD8rqFAY2wnd/wGXXlIS4XWyHMoLct6emTqAa0Ujo/DxP00mHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR02MB9865 X-Authority-Analysis: v=2.4 cv=bddmkePB c=1 sm=1 tr=0 ts=692d6659 cx=c_pps a=PPij9JC9dsFwf49xmEs+Gw==: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-GUID: aa8FxaAeJhNKZvJ30ovH3ZN0yJVBalTi X-Proofpoint-ORIG-GUID: aa8FxaAeJhNKZvJ30ovH3ZN0yJVBalTi X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAxMDA4MCBTYWx0ZWRfX3ivrjQjhk/2F TFZvJekXhYEdSu+UCMSXCMNNxkTwsWrX6wsTNt6XfNT6b0uZIiAZT7ctaJxXsQP4dztcAuVcYXy j5plyvpeh7HRTX1HebgQWHk7MflFRUwV47VZGtk9+NyafslhlNxFXT4NY9kWQRm3GgWUfXow/UJ AFH0ISf6GfUBQgOXNt6oYq0qZJz0GlaQALEIuW3fyjII9soVQveM8RwDGxJHmOu3EUj2OXXgwp1 EtZ1HJrkE+AdhkCUY63SqNdG4XszySq1p5PjdPOeMdxFFNXOQvYHf0YGovRFvOBJwNzJgayLbBh AEBVrLxmGZR3t3pcc87UGTXkhN5B8OcNfA1Efm/liB65Jla453SG9aqtJhCFwgCUYur/hsIhcO1 6guFy9VaZX4yQ5l4OV51HlnTTdJxwQ== 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-11-28_08,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_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1764583032954019200 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 --- 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..87e50501af 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; + } + + /* read error or other side closed connection */ + if (ret <=3D 0) { + error_setg(errp, "failed to read header"); + return -1; + } + + 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 Mon Feb 9 02:09:58 2026 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=1764583032; cv=pass; d=zohomail.com; s=zohoarc; b=hyO1yv28qLGBUm6L4HsPudhXPTvh1zT/fEz3Wq/jbJ7ABx4+CGQdYkO5/zdqqVDUn1r5DjfehfbGQ/0RnEgH4v6pRg89Vf7lsZhfO40WrmKvob+HfmbG0Vofulf05Jb4MQQh2wWBd2a06CU4bJrUzPGr2lGw2IbFenOM3Th5BIU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764583032; 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=T9JsJr4PWKAwdbyrB82pCMqe61eHSt+XRuvamKuvHZc=; b=aUen3VOnUEmQpdAvNXI1Nvow2QTgB+DyTEuQzZ1Sw6ILlYe5T2gisb9NYtiwN5s/QedICv7/MDbxj9fNq7I5pa4vIZD+GXMgxmeeOsbrAOHY7iph0nKV2s8qJ1RhJ18pJW7RYYFX/nXUtN8T2BIsBSi6GmL3W3eV1Ws8JbAx7y8= 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 1764583032431775.9604173399051; Mon, 1 Dec 2025 01:57:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ0eK-0006FJ-2x; Mon, 01 Dec 2025 04:56:52 -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 1vQ0eE-0006DN-PK for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:47 -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 1vQ0eC-0001wb-C9 for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:46 -0500 Received: from pps.filterd (m0127842.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B19r1Qf1346015; Mon, 1 Dec 2025 01:56:42 -0800 Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11022114.outbound.protection.outlook.com [52.101.53.114]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4ar11e2hs5-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 01 Dec 2025 01:56:42 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by SA1PR02MB9865.namprd02.prod.outlook.com (2603:10b6:806:384::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 09:56:29 +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.9366.012; Mon, 1 Dec 2025 09:56:29 +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=T9JsJr4PWKAwdbyrB82pCMqe61eHSt+XRuvamKuvH Zc=; b=NoFRi8J+DYOb/NDi8U/z+7Ml7T3aEMCH0eKADf+gfdeqgKnmHtqnb4ZMi 7/wPY2mcnDy5MfgLSSJ5NczdreNSsWcpRwdYIXx8oFM6A5dFsUi7RKtBQD8vfgEF n0Ohon+Kv0/T0ERfTwSnVfQLqRvoSAt9jE1GL94XCPRMruIvPz3SRetVUedl9L2l 2NukyTEJlXsphgCjFg8H7x3GEhZ/B33QAdH9rmiKwbcKZk1py3wgpV/AlBZ9f+NB wCYhT/1RlqlfFkmKoJ0zp1tz2K8IUi0fmTLQZxSepBWznqNHsgBH6FhWKPa+O7dz GfrAysFTF1NtWmvZa4ZN/C1hqciWw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h3nxk39MEIevYbRdO38czlpyN0MLHhv69Mi6OoLspPngU9cCBjCwJFqjGSYmePdF6uW+iA5Tb5aHCWuBdawEo++02pCdExQ7YryeUWusu3qRG606aCuY6NNhark0y2ykPP5wgQGM7JbHPGHNXuLgB+Mb+WcX18xiXKzksPCVULJRrReLQBHwfdhSW6q3xOxiXpOPXKt4N97xcf6f59jZ3x7HmluPTA6k2F5oMLfF0FZoPANh8IDFwbgcBJg1SxMIyq+8cmVGiZgrWFJkRhYjwAwf1QNRsrxIP70jR47fGJ1HEzJZstC+2YKVTUHBdPg7YQE55Js32YkXnN4mofZiZA== 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=T9JsJr4PWKAwdbyrB82pCMqe61eHSt+XRuvamKuvHZc=; b=X79dtt6pyV7UlX4WveXBqWdDDd4sRIcJSFkIfn8DxZzmlBgy+3+iL0c8zHT7vODXWubgLcZuTm9knbbpXym49qGYuMKNtjK/i4iPuaGawUAKKg3GaKLU0C7IccNTW8KwHM8889S4i2hm6dQQ2KSpe218i47g3BUkwi7Vo3qhAJJ2shT+PpKCrATlCWQRrrkFT4AQK0b0jUWVvutEU4cqviVcfMEycwvhTPQtu1+mebaGj7d8kAZt9vAu4IqvNYt+EX5b/zTBgVYAXMGQnaTkS4PCRl4dl8KyrYZimjO3/Nt6diM/2anXcnSb67PMpZsyOVaO93o3UfmmPBhbu64rog== 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=T9JsJr4PWKAwdbyrB82pCMqe61eHSt+XRuvamKuvHZc=; b=Z4GbJjmyPXEROd0gD5pPQ0nf8b1glH9yEQfnR3f2Jaq+/hMRJLGir28ZnSqYpCBvzHS1qXuwL90UdwO5O7QANhL93U93E7IqrThIXaQWoz/SN27t5+HSdyFtvTGcwPNs2XYs6E2wu+CDv09XUwmiFfRO2UxsKnV5VHX2JqMwJGXyuXgEQ1JfUcc6PU8hDKxVQ/tcSD+hyPuaI4CKfnjDa38oxspIRfzsvSn/1Z1seq7L9HOpf7DtTkeVR8+c3/OgNaY1klFCqKkkj798remKGD8KAWRtfojWNQp1yvpMoLD0u8i/aE5xfTt6NZqdaOm0bRYGB3BP9x5+h4zYJGJ5cw== From: John Levon To: qemu-devel@nongnu.org Cc: John Levon , Thanos Makatos , Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v3 4/5] vfio-user: simplify vfio_user_recv_one() Date: Mon, 1 Dec 2025 15:26:20 +0530 Message-ID: <20251201095621.2786318-5-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201095621.2786318-1-john.levon@nutanix.com> References: <20251201095621.2786318-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0576.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::23) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|SA1PR02MB9865:EE_ X-MS-Office365-Filtering-Correlation-Id: d832a025-b3b4-48ae-a1f7-08de30bfe66c x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?CZyCqWLIjfJ2j80LvdyEATI/hdb66fzPK00J0fCRP+l9FZKoKXQ9hpsV0hNY?= =?us-ascii?Q?+y9g6SsCQ535jqVV2QYcPDAiagX9vZSIEzCLDM1nYSQ7UTvxT46kOHHwI5uE?= =?us-ascii?Q?B+lo5yP6uJGV/y4x3GjdRmxa2vsD4v0F+XBLZoBnKB8VlNLlOsiuLXw+VFBR?= =?us-ascii?Q?AXuxviqBnhW8dhVEsQAofPbynOvf77LN5bglm4SsUoayfJH3XlVBIc6ePmxZ?= =?us-ascii?Q?L9OpQ/VGhzximDg2GAcWfGwDHWxPRBcKJ5FaKpQM+vZJeH8u+WcsAoOzmZRW?= =?us-ascii?Q?u/Q9lxY6B8oYU7hpUHQbAob3Twb7pDTHNRmd/a5B6lstqVgsbLl4bQhIHXme?= =?us-ascii?Q?jbljFY92OpMpiZn4a1tRKLnmE6nx4EvTXji87pyyObbJ718Si9IL8MRWFr7G?= =?us-ascii?Q?uKAIOvaifD2ZBX8qM4qwDj3D95mwakzJp+l02cgHxJbICixPOky/1IGuUhyD?= =?us-ascii?Q?YOJdscqEeARZPDJLF2A+Z1hJGkDR6K0NBGZiep9KVknKOiecmhTeVuqzpZ0k?= =?us-ascii?Q?Om8fjGRpofNqrJBBtoRMMXIGwjEk7cZ3JncJbMfR7vF2mC8BG44gsGIrf97T?= =?us-ascii?Q?ypqv2cWnQqNMRvVolgp4LKcprLt3krubVxYql25iTuTt0b9Nb7Ia0rtovuVs?= =?us-ascii?Q?q45MVtkFevzxSHsehvZLuEOLGzOjmbQU4EfGYiI8zX6v4x8WHEaaWI9p1ZJa?= =?us-ascii?Q?sU0HilfAsHnGnBbeYKQ8gKLlp0wqWxbYAkP+Y+9ZS2Kw4d9HLmYZtbp37zvP?= =?us-ascii?Q?7zOZCVcGl1U0/FR1M3dkPKyox6RixKSwU/9eF4e+8RUySCKTitZDZfCPWTsG?= =?us-ascii?Q?6+4z6MqGAo+y6UjN2uqKneCI1PiDwxOhjSM67xAUcDZFuyHQtv2JyI8bRNLs?= =?us-ascii?Q?AEGhQiagtJJkVcGF4gIiolbHWm54JOXHLu+i9jCz6qTaKIuKqkauAKb8SHlH?= =?us-ascii?Q?XIud1C8Fn8k5Pnq7ZjrP9acmFP++Z7cWaW4K/n/iNWy7TbvhA15Dxv4ketPS?= =?us-ascii?Q?W+YUChG5nK9XbFVPk5DyQ34+LcbYDiIMEubbNzxbw8aveYZrqY17jBd8IRzq?= =?us-ascii?Q?sWQvuZvdINjZu/ZTB5Tw7/7bwroN3tHAJVvuIeZ87BgWrebZY6AT1ix1x0qt?= =?us-ascii?Q?rOecaowEcT/lkkCGiP/OPBiDQECbeeYQy9pifZGntFef12TF+cjRfA8pR8SG?= =?us-ascii?Q?U8rMVyMECnNOuDJj9MhjbB176jfopyibu0DNPLydGwqkjxlvGlTewuQxVu8z?= =?us-ascii?Q?aZj3pGAVq/GDD/jRUmtVJ6Hr6a/wzSf8UxAG7iqp8Qa2Y7ACWq1FVrgdo4Y0?= =?us-ascii?Q?cFOVm5atV4QevRHvhgmHDF2xGbZ7OPq2xOON8/oXtBC8lK7+ehHbnchkuUSw?= =?us-ascii?Q?R4sJk0KHOJcbyYfSeW8IA1jOvsS462//CXtnqTDRraVckus6bCjrunMaqh0b?= =?us-ascii?Q?2g98uG/eosDMEXqxIXcHsWJx8/6TIDQG?= 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)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?S/JvugGjyf9QubWYEUPFNj3h+KCJAfbxsuhSmx11bdRx0OU+rUBmoa/nfzU+?= =?us-ascii?Q?zc1Dr+yj0AhpbJoGKBKF0XeZAqQVIlo3XJbJ0eyG2pnQHYuDd2i06/+6ezn3?= =?us-ascii?Q?KgF9Wt0+XuKiWFsgwyhlJCPsYkGK4RN752iq88yqvqpzCbsYThy5NLdhmzl1?= =?us-ascii?Q?WLjs7Whc4Ibsz+OVl23pnd/qTtpGlzuVkreyF6ohkl2kbvCrdhUxlVWVwpcD?= =?us-ascii?Q?0sq/UVkF1AHzIS+aLiI7AxapRrzxqGr57Ndrw/El733rOSaTxI1qHTHL2+yg?= =?us-ascii?Q?zYoyxLyaMhFUdRx4f7/mpCjOp/bXzW6XYx74TB+58x3sJx7UB33p0CqBBIzs?= =?us-ascii?Q?2zFnLUHkK9z0A8a27lzszTummQQeC8i7FFJGYhjLGOazGu0sPDT3cYF1jD3G?= =?us-ascii?Q?577sSS0Poa0dqnHRZTi71SjgZy+mrTgYMHdz4MmpwZ6mdg4OZPO3P5ya5yxt?= =?us-ascii?Q?l7RxL+6wF5FdcyixzAFH2xUQUJuNJJEmqA89OjKFSOAbuXHLuyB4A5kXgsG2?= =?us-ascii?Q?zRVb8PuOVeJFyOIJ7oZKOULqqLrgbcPT429qUKHAwiDdJZbGl9YFe5o5LDXn?= =?us-ascii?Q?8/s7brDFJSZRDGXSjOR3RkMZeX7s7x7c+l7vs+HxPMRPzhiQGSW/221xQxw8?= =?us-ascii?Q?nHqJ0FWN6p7jRgatIWm8J6E4bcEHWkXmOK6JY9bPq69xeyjieKZZjcnHW/s+?= =?us-ascii?Q?JaUDAzkc3oYTYuwrAsT7iKeuDUN0A3bQngBku4ZH4SnTDX42Wg503p7W+CSB?= =?us-ascii?Q?tzWCQ5Y3ONNlAX6kuXXbetgL+oaM4LnQrr+bU/WQEwY+XkHbsstejwU/POHR?= =?us-ascii?Q?hTSkStrLtNTJhtrdrO+/WM4IIvs49oD1/EmU93QQE8jMhZyem9mOVGaREsL9?= =?us-ascii?Q?p4MjFxPD4yUaSFA4ZqR+2owhT7uc4SKAHXroUNFFsCpZ/kYf3UeYSHwy16Hs?= =?us-ascii?Q?AS/xsc8UnWceOTLPJI5JG/RB/AztLHUXady7ZLY5T4Khsa1Jrat4OCwVcHcg?= =?us-ascii?Q?HWV3G8CkWZjnlYUez7qOAZ3HvRzxEw0iPgkmSFqcyi9tRzrz+DI5ukV13uKZ?= =?us-ascii?Q?WiflvZbQwOlyZpYL7xAoo9s4nvOyCF2fExikDzRTFFEW6ScvplBbVSeCCa6x?= =?us-ascii?Q?GuMv+QQhbvcLPV74nWVrC7GdlNhkuEFj5Xy6I0FVos4LFf2esABmIIiMlud/?= =?us-ascii?Q?FdLecKydxYIe7OvnL0fhpLk2IhCAtnFXZfRb+mx9kRyjWmi1g4xWXBJaxU5k?= =?us-ascii?Q?94W/8S5KWWD/ltUARIcwHJMIjgmje1ayLliq9eI2H6UwlaGWBO0n67QQjF9e?= =?us-ascii?Q?DlSSIeS6FFkrKmgUJSUlFG0bULYpZ7p3LtYttYADNBlc9vEZcXm5y6yyV7hz?= =?us-ascii?Q?B+WM0/ShxlD/LOHEAl0StLBXPJpvQUgd0vTwTk2HNFbpcAZkmAOk/fckesyp?= =?us-ascii?Q?Bsm5k/q3myOA4l2V/xwIihBc2j0ANE17+eFUVAGUFjEiaBUBo4d2tAtE9DmF?= =?us-ascii?Q?tNDZ05ntMubCSoGixWAx0DpELSBgmlAZuX7zAE+bMAXIAeiO+jVHKBEZlSXG?= =?us-ascii?Q?4NH53lNXdFqIIFTKfZaduHiAPKvGXOEYIlUj4h8m?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: d832a025-b3b4-48ae-a1f7-08de30bfe66c X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 09:56:29.6997 (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: PRQyk28JuUXixwIq+THWOF5fy7gxrbQf/7QxK7x7+hgfzR5SxiWQzYNFNf02tskCEXxnoakSPRfGSgfBFW0KuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR02MB9865 X-Authority-Analysis: v=2.4 cv=bddmkePB c=1 sm=1 tr=0 ts=692d665a cx=c_pps a=PPij9JC9dsFwf49xmEs+Gw==: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-GUID: 1tpKLB-YeiaLSMUBOWuxLizJzbEetReH X-Proofpoint-ORIG-GUID: 1tpKLB-YeiaLSMUBOWuxLizJzbEetReH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAxMDA4MCBTYWx0ZWRfX1Z8iwJVYGXMQ GSENbXudgbP8UAls2M6pcn7tmNl97MMvbaFXa9D5aO02vN7VGM0u01JPDzsmdtJxQmz/33H1pLH Dr9V+fcLqARI4+QgX7EmioOKBZnG0s8YR4sI0uSEpe1mbDlSe+wnl5tW2VKDKJlSEqQqCcwYAF3 3osaPF5G1dlLzF5euWmSDC80tCd6vMDxO4TKhsbSKimZZJT9Fzlzk+OgxK+RfeTaImpjK3Qz6lT XZjVQk8j1kKDfGxgXjKfMnyxHpu4/o3PYmkawBynot+MXlv2rLUiGxQpSNiBNlQMjeolVSpE8Fr qCwcUNqWCGMmBWuzjUXQfwtEKK4xLFhJInqElEWuAm/NLvLbE/08U+vwQ3GkWqBVpGISFMw4Obc 2biVQgud1EvC+QKQUIqd9GWMQ25g3g== 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-11-28_08,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_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1764583032964019200 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 Reviewed-by: Mark Cave-Ayland --- 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 87e50501af..d1d63816b3 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 Mon Feb 9 02:09:58 2026 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=1764583049; cv=pass; d=zohomail.com; s=zohoarc; b=ei1zTfDanI8ChjvoJcmshfx5VhrF2oa7ZrfI292FO1uQ4uAqATrBu08jkkEOS6wSUwIJofz68UTbsWdu3Hia+aBbKg3HDl1MPMkMjPELsQDhQpMNjrzLIiFJpVbuMZc+NAoxHuKK8yKmGBNG1HQsLfC3DMEpyfb1qQ27lfoy6FQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764583049; 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=u2Skyfo73xzLqCY7LjDa1fwLEU4aWm/2p6xn/+qILDg=; b=TM0w52PwpErejSC1ojbZdvb0sr10GarHYuBOACtDn2S6oGU3O+mWF21y2icC+SbKCp0ddVpLulDH75OkMYlxpzEIRmpMNkax3ZwucS2sBFEK+VuRTEzN7gxQKtbs7MeRdWl/BHkWpI3BdeBg62/K0pR4LDO4icXuxCSEwIg+1Rs= 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 1764583049388251.0775710902426; Mon, 1 Dec 2025 01:57:29 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ0eH-0006E5-Py; Mon, 01 Dec 2025 04:56:49 -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 1vQ0eF-0006DO-IJ for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:47 -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 1vQ0eC-0001wi-CR for qemu-devel@nongnu.org; Mon, 01 Dec 2025 04:56:46 -0500 Received: from pps.filterd (m0127842.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B19r1Qg1346015; Mon, 1 Dec 2025 01:56:42 -0800 Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11022114.outbound.protection.outlook.com [52.101.53.114]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4ar11e2hs5-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 01 Dec 2025 01:56:42 -0800 (PST) Received: from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) by SA1PR02MB9865.namprd02.prod.outlook.com (2603:10b6:806:384::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 09:56:31 +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.9366.012; Mon, 1 Dec 2025 09:56:30 +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=u2Skyfo73xzLqCY7LjDa1fwLEU4aWm/2p6xn/+qIL Dg=; b=pP+5Emud6pIBAcG1QRsMaDPCV1C4ssJmfdE3x7Ytq+tm7YsNfsPOEDpMo IbO3MuYve9oyXyR/E+3sJHLgyv79aOLT22OINWc4r5lSX4Ysp3CPjkBmd4Wx0w8l lNW8DHvc+F48sKSUfiXwBu6zCx4ismrwUkh2UKo/vetGa7OdENzXF2v60ETGWm2A CVl/SDVHOpX7cNHeWd4O128VZh29bB99OYcCXiRNvdUxJ4tnb4IeebDG/4qvdC6v jvzg4If9alQmO/oMmwNAtq2RFNqbQqZQjyamm3HaW/4umwRhZa39pBLSj4DxdVEl Dh3qDWrPb+i08MHyt8ZwbnAOWiEzg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pMVZh2VP0rXs+YlQj+VHYmD//O5PyAnCOHzusKcOhowZggeFHg03KtzLODPCkjoONnYMY+1meMF6xc/yUR9+R+Pkt8aBLQkENC0RCpHa4BsdN99/e8WGP/n7VdhBn1zGpP6jOYAIYdQ0yfEeFUJxpP8gT8hdkpmQxWxK0HYPvT3cCaovcliH6YJVqWK89M9xCOtijD54blqA5beujpkTruYUh52novwHGkcWg2Z9neFuuEQxqoIusXXUCHIQfe96vWQbgqzSbyvCE9aQiqkC+FW7vgxEp27a0ksMkucAlUl2AYWOJnuWjvhp5TM4a2p6sGWX0q9KWqUFltOtrgZMoA== 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=u2Skyfo73xzLqCY7LjDa1fwLEU4aWm/2p6xn/+qILDg=; b=k1TDiG9aRZnLGvWbWvQud+PTV0VoLNxj166ZtoQv9SjpIuGcoOTIxq2tBzI86pM3ttnptazihmu2lTYgB/cYBMS9Sg5yQ2IIBFgiHlyrM8gfK0DjPHaPpUbvQmeQ18uBtGwm9zLd4BYaV8GHm/aYZ/KuBt+GwkeyOMTIgHwzcrJZeH76P+2/4A+BGznnvB6iyyc1qOoIT8S5SLfzgQvlZJNKeLrsFzjici0ghCKUk+RfDgtVSKebMSM9uBOuaYAJHiWUNxdfANLd0JvM904RCsxIJn0IWbHJ0KyGJY0aMM94aqW8Oc6AMS3gCGUDtWI0vrMYogOIc9I5JVBnrRl1ZQ== 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=u2Skyfo73xzLqCY7LjDa1fwLEU4aWm/2p6xn/+qILDg=; b=tSX3ZhVtnCrxln8rPyK4ANr7Wao6udlx8OoWI/o+YHV94yy1gas46BTxfiGCGud0qhqw3BfHPFEwK0Ch6bqblsvgE0jQXVDJk1Z0TWSYnVM2Sm0MTQDRSDKNsCXo5ZBSEr9p9K6xVrq6GhSxoHVM7xqotJ1gkGZPFcEIL8VYOQq3boS/xB+kw7lcWTywQicKdS+g5drjQQNAUuE/1hdSdKtUjiIVcf9SQPevSKGhKb9Re6xlMEvzm0GJzY1RddMamiiT3yoPzkBU6RIDuuMptVIaIjJszlULc5/QUSTPRALIO6YS/2DaeW+melkcVdzducaoxbMau0LmF1SdbebtWw== From: John Levon To: qemu-devel@nongnu.org Cc: John Levon , Thanos Makatos , Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v3 5/5] vfio-user: recycle msg on failure Date: Mon, 1 Dec 2025 15:26:21 +0530 Message-ID: <20251201095621.2786318-6-john.levon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201095621.2786318-1-john.levon@nutanix.com> References: <20251201095621.2786318-1-john.levon@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0576.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::23) To CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR02MB6760:EE_|SA1PR02MB9865:EE_ X-MS-Office365-Filtering-Correlation-Id: 478de1b9-6275-41bd-3bec-08de30bfe714 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/L+io+SeUEGLicrpWJIm6b1zvoqS6CaRDEMLe2IHYCmDrGrrSyQE1WEq95E2?= =?us-ascii?Q?PwaGVSTqJt1mzXRU8rkGkAS76M2wvzUoVbB8oeDO4vlBOee63W2DTOd72yvv?= =?us-ascii?Q?0gsUtCbyGTgvlrpegEC4A85hZ3bkeKpm0won29ml2p2q+IPuSiBd4cQiUxIh?= =?us-ascii?Q?G5+sQ9pe0H8MpH/XwEOd3Jxisfto2PXkUpYyz2bGcz02z2mTCdt+vC9pPRDm?= =?us-ascii?Q?Ft2YwEr0vXb4t2L8V6y8GNl4GeQDoDk/RKQ/kKiBuiEUNn8KoTb9N+30ExKr?= =?us-ascii?Q?sQg49+rLRAHasGzuRmcp2g9VsJFiemKOPshUfnCAEzYWLf82LhwcOm2N4++1?= =?us-ascii?Q?J6xSKru6aS7j7E4Se+WVzcaIeQZWAoC6w/0TOYQonOc+QrV09ssP15JiO0gT?= =?us-ascii?Q?viyGCizzlt9H6v+ofmJwuEJlcUZeTkNA957ruIJm24VsgUBNprzhr4Cgwbin?= =?us-ascii?Q?4XhV9Lh98d+SPFLaYLxNzqySul6KTmZTejFeXxMgv2MLwizFQuJ3gG7LeLnW?= =?us-ascii?Q?MXnyv5MZqD9VYprESyUhr2NbNFkxdHroyFbOQMKnDsK+Vszulqur6q+9ADYb?= =?us-ascii?Q?j+ocSHuB5C1jR7gKb6bTUVfdBUxSwwEIF3XEvuZJhrYZ4Z+DTgPru3FOgY+G?= =?us-ascii?Q?LwxoxYtlJzxlLDSYZEV7zQUp+U3jBGI6DPRIMxUKAbb/0tfNbqsbhw8NHpBk?= =?us-ascii?Q?8NnxPif/qXS1Tk4ykym+hPp+8QmcYr864IegBcxFW45zfLsppF1jb/TdhH0L?= =?us-ascii?Q?EEjRGW9Fj1jldkVYgOEaMPW8tjc8E1FPa2+HsUCyHIs7fv3qw51wvNAh+QnX?= =?us-ascii?Q?4sktaRlhNlmjrR1BBZLfKqXQ5u7t6H4000cyufor9s8J6xk7r5Ds9Gz78w7t?= =?us-ascii?Q?ozvhbAjU5bnD8Szz49Z6efXP5OT43Z3wTiSu3/nrhsAJQoB2Qlj06DIx2vmK?= =?us-ascii?Q?YcCIwGte8NYH4a782nBfPThgXTGqZ8WbJ6CqJCpUDahHwZ0E58N6GPNM1dCE?= =?us-ascii?Q?HnDcRAyOJlPa53yb/s78smLzfKr3KtZK2F6D4GBOP/1ZAuUUIcVy6Y0TjDEz?= =?us-ascii?Q?YzK7sa2/sEyJ+zVhMoryYpD9zJWdPlz9TOdoSguMU9bagOyMimoALgcMHdfj?= =?us-ascii?Q?OyZXl7zBaUGKd9ERivR4tQknosne+9PKInX1N9GoflwfY4tzm4/mTPac1be9?= =?us-ascii?Q?USnP6IbSGJSbEaPCDV9DHaqjSo3ZSfFzFqfW+tpemZFmnQw5ZqU+LEWfNJKp?= =?us-ascii?Q?My9hWnNsNdaECWOj47cS3rTjzUeQNxFmKgagYjUtCwFhc009k9xqQT87dV8+?= =?us-ascii?Q?MK1ZRC9hvBc/KhbetTxIuab1oDbRCpw+VlO1G9zaYWIrJpH3H/0oYFcJSWSG?= =?us-ascii?Q?dCV2rN9WCIcgwCN+aIif4gq0LzEOk4KYWQeA099sFmx6I4ZK3K19JURo+NLK?= =?us-ascii?Q?JvFI9oqdnldyQW1jH7EY3f8C6krmXbUt?= 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)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DlOg4RsmGrFJBo9Ajo1u8YWyYXCC09l9Hr1ikz+B/M8AxPqyYH3XmAB/9in9?= =?us-ascii?Q?r8TZDoHchi3yfjVekrRqyyRLEGXqRj4bTUoeYKFJFz2QyZ6pi5e6j9Ao1QK/?= =?us-ascii?Q?Crkox6QB2cI8FJEYUT4FAHkAjv0LWJGr9pc/C/A2ARpPkwZyITrMWroSnZnc?= =?us-ascii?Q?apyVWjcHaE5ucaO9USSOXpBn3YtnygzASORsMGYGZl46WMLDkxWfJ3oAU1Mf?= =?us-ascii?Q?v8a9UyoOSdGJt9OAZtrpkHFKuJkAhEdb/Gg7yfR9/hSBstUVBBBgMAfWk6Vz?= =?us-ascii?Q?ZhGJw0J+a7/Q/abHQephT0KRAz2lR52KB9cKTd/5xKuRFWwajwvd5wVRDn1B?= =?us-ascii?Q?hA7g4kPNRdSWKvFTfrTU8vS55D6yIP0mqDg8ty1rSOY0ivvgSuxVz7+b10Wb?= =?us-ascii?Q?3Y7O9v3pyYh/OHnp7UgrwzXhXOtdBHwrfaeSbhm2pSxljoNtX7Mkyw6jZ5vO?= =?us-ascii?Q?3J2Laxz1EglTe4/aVm0ig8lf5eTjlCfUOZXTsUvg46ezI83py7dv+BaglBMF?= =?us-ascii?Q?1TmuaLhuyI69AUkE17eAsitGBsysTSTuzMB5kIkTD/MEWPdlTqPh/kgVSW/N?= =?us-ascii?Q?wqj1FLcxCPW0nVsvPqU/eSsnGsWsceoTuaRFyTSrJFtcVCRQE2tTr2Jt1MEj?= =?us-ascii?Q?cCiruSXgSbjH0mu4T4eIIsKp5483h9BTQV/YAwrOXtxAixppl9PIaTZE88Rk?= =?us-ascii?Q?/J7f0CeV49Jey1VuhAv82pfEJYaen6Pjd+xBXXUN9OSN9e4JQ9gyV7cdKM8Y?= =?us-ascii?Q?+63GTcvou2W+D/S3CNszXC0uREuSxFpINYgYRGLnn9M4EbFCS2EyYYtVdXd4?= =?us-ascii?Q?WDpLfZK8yRku9gmZuejpGLTcw3pKXccAmq5yMToIodJ+0W1ITmAEWQkb3+8g?= =?us-ascii?Q?o+HDKkS4uzaiX0FrPQ4+aETA9XSwknP3PQUegEJvTzrspfn9CQHcCpTnVaLp?= =?us-ascii?Q?6xzwezbd/IvRh6T0nidrrM+SZWuO/lBZ1wq7lpegL8fBStzLIpkkldgJA0/9?= =?us-ascii?Q?MTKX3WoDtERqRFDMmsPtvqRSq4HlRCxsiWlex3ZDANA4a8B91uZ9aMh0+MY3?= =?us-ascii?Q?i78cF9uBWBet4S4IH5+d1bZY5EQEiaiLvRL2ocf199VER6A+xNBxmVcWopuo?= =?us-ascii?Q?WO5j1ciZGBWjGCZ3BuXmLWV3RfZ/PiPFqYCYSLHc+g6Ch0yZ2rzkpJO21M0Z?= =?us-ascii?Q?K3Edh2SwEJBj3vPcWlBlhSh52hrb+RSQp2YS05Rvr/bHb/SuCheIT4bY/GEt?= =?us-ascii?Q?Ou4tMtr5fZ/Wgn+edIsz5g5Oq2jx3xCrUIdnahC7AZYJqUoyVB+1uAbOMgRL?= =?us-ascii?Q?euuOqCW5fwY5BsmHrp1H3DRhwH+MK1/pxE0o0JaqzaWIj8f9mWhqpSWvgQoS?= =?us-ascii?Q?jV7E8Wpk0fxQSzpnC/+1QkvLIc63e4kV4gDOco4zcpQUT3bQbeXFy6Z/YBS9?= =?us-ascii?Q?fFxCPgxs0B6WIVPhTpTUs9CHb7IKo4u/KMcr7VVgk1JU6ANKdgK+/CUUotWr?= =?us-ascii?Q?/Z9xWmsUlNn4VcmIUAUXP4bKYV3fdUCeuw5ate2ehhdOuEAP87vgz7OI1yU1?= =?us-ascii?Q?Dzpo+r/7eG7t++rrt+MXwEyGRRI5/OUAHhbefZBU?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 478de1b9-6275-41bd-3bec-08de30bfe714 X-MS-Exchange-CrossTenant-AuthSource: CH2PR02MB6760.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 09:56:30.9375 (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: CYX9ZEEbq7TD1IwwyQTz9R1Crt8OsuIMYn/P/D/lOvqu8zoaX0sogQieJd4xNPf+9vhdhvrW6iU7q/OOaOPFrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR02MB9865 X-Authority-Analysis: v=2.4 cv=bddmkePB c=1 sm=1 tr=0 ts=692d665a cx=c_pps a=PPij9JC9dsFwf49xmEs+Gw==: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-GUID: yemhqjK28lk-i7ywM723oXld1Hx9Y6js X-Proofpoint-ORIG-GUID: yemhqjK28lk-i7ywM723oXld1Hx9Y6js X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAxMDA4MCBTYWx0ZWRfX/TGzDdd6zhMY gYT8CyJzPupc7zXN2XK6woEahUkv2W7kTXvz+AAPikwdtbEWty0hisxj8zBds9BrOf/US1ol9ew VgGIUDTQ+jQQlIRzOUR3zpXV0WevJ8x7+b28s+blBdGrsKwSguvX+DnHBpoH3Cxibj6Ske77eLM qM+mFWCYT8ku6WHLAahVsBM9C2nfZuz9Bme9zYREujYY10gkYncKN54XBT9YN887FIw2VJgUFI7 pASTXT6UHp2P+yNxjED2OnjjyAMAJuOjrnYnlelgcL3xjuu+uXSzLT7/kWlxGHuZizRC7sUNpN5 ZTcXdK1pYbL//z7eiF12xr0ni29RRT5jh8lccd7iWmzxKYWLoqJ5MR9Q6/YKePihda5iGOr+2sU 6c6etCsIzbQWCZT0/ij3mEjh3spvIQ== 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-11-28_08,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_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1764583051165019200 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 Reviewed-by: Mark Cave-Ayland --- 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 d1d63816b3..d06978a74f 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