From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11021088.outbound.protection.outlook.com [52.101.70.88]) by lore.virtuozzo.com (Postfix) with ESMTPS id 9219080A89 for ; Tue, 13 Oct 2026 15:28:12 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ac0XPyRkS98lH2/iRjpBTtAkchuVbbTJQVMKSCGq6b7KsKnSJIUp/IWi/aljsWyWw79lXOmCHpSmX0oQ3R6FNGMGOCSEaWsdW8McUUKJqrisbXBDDigAxL7n1A9pYCHa4Ytaqg+A/0rcoUBwOrOfTFBuf580nb9Vyl057z6VzOYNXNskzYqBPK4j7FWD2PDWUE322cESW8EZ2nICi+ZTGGhnz6tbwBRK65WYG8ljVU/2azbJOKjRAEqN/aPFqHkwhgTNoSugkUoF835vFo6wpyiitJ6JCl5QTOrjg1UTPnAB8VsaewGu1vNys5+DK0JcuzuIqUN7KYLOrpUUbPozLA== 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=zw0JQhZwPCuDBULSwbXMO3x4pT+Xi9kilXmtenJqTDI=; b=TxZsPZyLqh5veLkNNQyHvbCS3HO25NcHf2UZ0qV75CdOt0fO9cIbCJXGsQMHmm/0q+xAWjfZ5CB/F//poaMce+jqVLr5s1lp6BV4Wrb5t/xQSpJ7wY98o1QwsF/b1Snr5G+zXdnzUNvI6Cu0yytUCft+am6NogkN/Ai+t5AX7NX1CvuoYTpdoB/lFpE10ANt2a4d2U0S5Ig/gWU4eJLRDSKqCP8MFU4XI6wqIgr2Y642Ptt/AS4jyyps3n1z+bP5uiKTzLsCUvVb7YxKNZsAZLZbGdmJ9f/DRPMuLDnMV9cEiXPqzVCKsuE4YT20NN+4HuC8qDnnMxdTn5GjPsZotg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zw0JQhZwPCuDBULSwbXMO3x4pT+Xi9kilXmtenJqTDI=; b=l/Aj1kGrvpuweVOVQsMMi4hLdj6lD6ZyKmNynQiE5XKWcUdJ5Ui7gN0wZpXZzRel8DUb2IR9zT7bUJWcWQssfhSUfdakfvQzXLkgNWz/1IN6Yt4hpaDeSg3+kNxW1FTuVUw0lwWTa/3BxLG+HEX5dbpacPPh1z4YCa/N52pev4xhwz0zP9Uesw6zCv0quoXtLSIWr91Wdu753YUYboliKhYy4an98Ib5fVgp4ztavXd0Vph+aKvg5p2h89kn/ZnEXbwdeFe2SQGtvYgiNwoYwhEOEYchqo8dW2bWMSoefvmLweU8wapncgCrF6qCS9rm598SHkfgOMs45b+565pPqQ== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by AM7PR08MB5448.eurprd08.prod.outlook.com (2603:10a6:20b:106::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.11; Tue, 13 Oct 2026 15:28:11 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0522.008; Tue, 13 Oct 2026 15:28:11 +0000 From: Andrey Drobyshev Date: Tue, 13 Oct 2026 18:28:09 +0300 Subject: [PATCH QEMU HCI-8.1 v2 05/24] vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20261013-vfio_v1-v2-5-433455c0a294@virtuozzo.com> References: <20261013-vfio_v1-v2-0-433455c0a294@virtuozzo.com> In-Reply-To: <20261013-vfio_v1-v2-0-433455c0a294@virtuozzo.com> To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI5PEPF00000939.AUTP296.PROD.OUTLOOK.COM (2603:10a6:808:1::833) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|AM7PR08MB5448:EE_ X-MS-Office365-Filtering-Correlation-Id: 0fc46cca-d7ec-47e5-4641-08df293e96f8 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|52116014|376014|366016|10067099003|261009223027099003|38350700014|5113699003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: ictbdVV4syJeEX+Z1hfANAmfrvkBpmgCVmHdbJykrCVrvOUh5eW51y6Rvl+VwJsa6YlcwYIJpCXpzlo6kuHtzn2yLDuggR8KdEWmXPWyDmqwVbXwFjBvQ8JRzDhq5jFoQQDfEdhSzAcKEPAcmRlhCQ0zhkt/3m/rPkeC0TXpgCqGGzFhYejD8HGCSwuwzZh90elGdcsHfjcT5cms09AP/2HHa7OTH1+2AFX4KuipMMfkf9VDPUrS6MVLMjb71/PsEzojtZylzJV0tnh2wXqceWAXDBTzUfFPOYG9JIodThr3z4IRmUwxvuGfrkiHfVQC5nuQh4hjfEM2nEu28BH+JCyCEK+Lj9E6ngopLfHPE7PjPBRT9oNuy3aCOi7xDeaPM2RYgDisI4F/+acXi46mQm1c+XEchGfnn+yZd9bwHohRxtzfSNdNITpJ8F+TzSqrWSjLkw6n65qG030PyL71cpPsT64JPLRqpRL8flnOjVGR/ZNvOhsBQF7ownuyxAjqQLNhPoAipCmUXjgbyqL6LUh5hEXIo4saXRwriD0OV7o3uXg2uTUEpPqx2oqU31sN4OFgEp1q7NXKg/4+EZqZDVpO18lkAxrOxYh0Zjo9tJ8TQ6mMZgOI/tSBiCO43zC148mZRm/rE9OmOVEUJLyCJ9rlk6anerfwP4AESewAO24= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR08MB10656.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(52116014)(376014)(366016)(10067099003)(261009223027099003)(38350700014)(5113699003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c21CSmNiSGhJbGIvWExlbkt2QXRkdXFwMFFzREg5RkNoc1lnWWZBUnpEWFR4?= =?utf-8?B?dVR2L1VURHEyOW1pdDZIejBPTVdNSG56VlRNY1U4dkpCeFVaQjZjWHRWckZS?= =?utf-8?B?Zk1mRkRXejBjbzEwTVVwM3lwUDVNQXhVOHMyMEp0amVyZ1BqNVpadDNtM3JP?= =?utf-8?B?YmhMSHhEVHd2blJtQXV5anc3L05MMkpPck1HVmF6VmgzRW90ZlhZdGtjWmdJ?= =?utf-8?B?NXhtTjRuTmNCZ3laZVVWYUZKci90YjFIR08yUUdnTHY1czZjY0kxc0crTEhw?= =?utf-8?B?VmlpRWkrenlNT1Rna0daSzkzd2oyN05MNmtRaVRXNE04ZzlMZXU2dWwwMDBv?= =?utf-8?B?czVIaVZZbDNIRGk2UHBLSC95RTgvdWMwVjI3WldmYldDaWlibGdSYU5zNFhQ?= =?utf-8?B?dEZ3aEdPOGhMbXhLVFhISk4vUS9RQXV2WElkT2VCTUZxMWQ4Tm8xTHJSS3Qx?= =?utf-8?B?MjJvc3d6NmxUTG5uSTdCRUxWckZjVVA2N3YvbGJYaS9BRGRFYXJRek9qOUZz?= =?utf-8?B?TXVlTW10aXNSQjhKZ3VjRTBJWWVqbTFpMnBWakdoOVpuT1pwbXROaE4zOWRn?= =?utf-8?B?WVNFakpyeWJTb0NnMXVkcDlMVy9TU0xBR3JBaXRGdnJhOEl2SnJNVTAwNTEv?= =?utf-8?B?V2p4U0FyYmU5bGxET2tXZDFLOUU2VEViWncxZkFxVmJYRDIzQXArS2hnY0ox?= =?utf-8?B?RmpyMktndnBvT1RzUXFIVHQ3MjYwMVRTLzE3clpTdUI3L2d1MWF0ZVNyZjlC?= =?utf-8?B?SFd6YkNUM3R3Y1ZtOGJQdVY4MzNqSUVRSXEzYWVYRHZhbWl5MTAzQmZ0UmVy?= =?utf-8?B?VHFZQ3ZBNThBcm9YMTZiNGlVUTA5aTMzREFhNnRMcldrWUZpQjJNS0pJcG1r?= =?utf-8?B?enZkcldHTDI0Q3JJbHZ0aTBrNmxEbVVHdGIrakttMUZOM3Q3Q1htT0hPa0VQ?= =?utf-8?B?QmhhbTErWm1wQzhQalF6UkQvVUJRdzlYdnNoR1pJT2x6N3NCOFVxRkR4Q1F2?= =?utf-8?B?UDd4eHQrekVSYUlNRDhiV0hwUWE3S2YrellQd1IwZGRnWlYvQXFJWFd3OHlw?= =?utf-8?B?eFcxL3hsaFQxclE4Q2VaZjdCWG9zbnhnMHpFS0VzK0U5ZUloUStqYjVmeWJo?= =?utf-8?B?bTJyM1Bxb1VwSXczKzNxUEY2RWw1bzI2cjVmYXpYcTVTOGxaZjRGdXVYeHc4?= =?utf-8?B?RGxaay8zS2xrT0EwQk1TdTZZeHZWMWR3TXkrSnh4WVNSZ3hMNlQ3RmtZZ2lV?= =?utf-8?B?WmJmT2hibWRjbnVKckNuRjh2azJhZ2YyREFEd3FqOEEzeVg1VjFFZmhZY1c2?= =?utf-8?B?ZUthSUFsK2Z3N3g5SVRkcjdBRzR0MXpEc2t4L3ZrdVBUL0x0Qm5IbVhzRnJu?= =?utf-8?B?b3hsTjI5RWF3dEVGZkNYWXFBSHAvMlBvK2ZJVERZZ1BzWTdtSitWVXlESGxM?= =?utf-8?B?U0ZQeGpYamNCZkVDb3RzVWd2RWV3NDBiWkRFQ2hxK0w1aVo0RUF0WG8rOG1L?= =?utf-8?B?NXppdWI4SDhQTWp3RHBYVVZySm03eFQySTNicW1iS0NTZDZ1Nk90dTB0L0Rq?= =?utf-8?B?eFFUOS9XS3JtMDluSndVN0VIdi90RHg1d0c0ODJEMTMvNER2QmtaV2tTbGg3?= =?utf-8?B?cERncU91eE02YzhPVzA3Q0FxUzljQ0pZcWxmTlpXZEpSSWZ0MFhqQnl6UTBU?= =?utf-8?B?bG8rMzVqengvSTVXSFYwdkVjdkNraTAxMGdkeGl5T3kxOXlTRVhVMU0zc3BO?= =?utf-8?B?NDNWTUI2KysyTUk3V0xOSEErZG1QYStJQnFsc0Z2bFhIQXBCVGdqdjV2djN6?= =?utf-8?B?WjNuWU5pVlVjb0xuQ2RKaTU3S0p0TDNKeXRFTVFnaEtCS0lYeUo4RjVQTFZW?= =?utf-8?B?QklaQ0tHMkNjdWRHR2xFQkMwVEFHaSt4ZmZDdHZ0VE1kRTl0YnJnYmFaWU5U?= =?utf-8?B?eWw3alNaMXRPOFkwek9pclhRSUczRlZSNUNBS2pvUXd0QkNZK0NWLzBiYVcx?= =?utf-8?B?dTRwVXd1cWFSMzhESTJaK1pQalc2QWt2Y3RVbjEwa3lBNitmNWE1NUV3WUw3?= =?utf-8?B?aElpNFBacit3anZzVGZhVEpIZTlIRFlkaUc2T0pobHo0bWpzbEE4TStKeUFJ?= =?utf-8?B?ckFkVTRYaklYREdtcE5uUjNOTzVoSkFMaWJsb0NXL3BhMVVibDBvK1hPZHo2?= =?utf-8?B?VVp5QlMyaXBNK0luODhoWVYzVlMrMm9IWStxOGhObm5wc0kvdFdoOTVObTBq?= =?utf-8?B?cjZOSC91dElNUjFnZHFxRXJEaGRIaVY4bGp0K0xibVhIU2hSdStOaTlQMTZs?= =?utf-8?B?N1oxbWVtaG8xSUhGZUFTclhhcGM5WUcxTWxjNHlVM3RyVytEUFQ0c1RlMlBt?= =?utf-8?Q?KQbFFzok799J1Emo=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0fc46cca-d7ec-47e5-4641-08df293e96f8 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2026 15:28:10.9195 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YOOFNqxa6yfzuOlm8HPSsyqEU5OBzvqOB4VKAT19RnlmgnL7eTpkgBK2H0Wp8jTulCG0C7ro2coINvERU8J916p/57GSUSP3rbsZQipz5js= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5448 From: Mario Casquero When vfio_device_get_region_info() fails in vfio_pci_load_rom(), the function returns without setting vdev->rom_read_failed to true, and without allocating vdev->rom. This leaves vdev->rom as NULL. andrey.drobyshev: This commit is cherry-picked as-is, with no modifications, from the upstream commit c822ecd80661. Signed-off-by: Mario Casquero Reviewed-by: Cédric Le Goater Link: https://lore.kernel.org/qemu-devel/20260602070857.356526-1-mcasquer@redhat.com Signed-off-by: Cédric Le Goater --- hw/vfio/pci.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index fa2ca0d779d..bea478d521f 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -1039,7 +1039,7 @@ static void vfio_update_msi(VFIOPCIDevice *vdev) } } -static void vfio_pci_load_rom(VFIOPCIDevice *vdev) +static bool vfio_pci_load_rom(VFIOPCIDevice *vdev) { VFIODevice *vbasedev = &vdev->vbasedev; struct vfio_region_info *reg_info = NULL; @@ -1053,7 +1053,7 @@ static void vfio_pci_load_rom(VFIOPCIDevice *vdev) if (ret != 0) { error_report("vfio: Error getting ROM info: %s", strerror(-ret)); - return; + return false; } trace_vfio_pci_load_rom(vbasedev->name, (unsigned long)reg_info->size, @@ -1064,12 +1064,11 @@ static void vfio_pci_load_rom(VFIOPCIDevice *vdev) vdev->rom_offset = reg_info->offset; if (!vdev->rom_size) { - vdev->rom_read_failed = true; error_report("vfio-pci: Cannot read device rom at %s", vbasedev->name); error_printf("Device option ROM contents are probably invalid " "(check dmesg).\nSkip option ROM probe with rombar=0, " "or load from file with romfile=\n"); - return; + return false; } vdev->rom = g_malloc(size); @@ -1125,6 +1124,8 @@ static void vfio_pci_load_rom(VFIOPCIDevice *vdev) data[6] = -csum; } } + + return true; } /* "Raw" read of underlying config space. */ @@ -1158,7 +1159,7 @@ static uint64_t vfio_rom_read(void *opaque, hwaddr addr, unsigned size) /* Load the ROM lazily when the guest tries to read it */ if (unlikely(!vdev->rom && !vdev->rom_read_failed)) { - vfio_pci_load_rom(vdev); + vdev->rom_read_failed = !vfio_pci_load_rom(vdev); } memcpy(&val, vdev->rom + addr, -- 2.47.1