From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020141.outbound.protection.outlook.com [52.101.69.141]) by lore.virtuozzo.com (Postfix) with ESMTPS id 9225D8096E for ; Fri, 9 Oct 2026 14:56:16 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T7+pZRxrSGhfMKXqxTeK3jNJLTcr66kp+Bim1cofPluRwUwiLLHI9bHaEP35Yf61IG8lv+Hi+VY+OrefKquEQ8Fr8tFVJxuutfsVCrhX5RhD6xrl5g1V+QXlaPeU4HC3Blf4OU3ohPoMDntE6KLiGRi09r/d4gOK5VtYkIvxntjucP3FCf5BoVL0e9L2TPpSDYl4vDg4oLjP26SFzXvYUd2AwL/hhetEfzci3lKzhcF2SNGDh1k6oNPQXeVJKpIwhNSRc+ZVUhzIcO+ebztlizvez2BzIRPRDCQfuj+bg8tbGYoZ9OrwvEFvIBCI5tq83qmteHCac9KKLEAv/qvvRw== 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=eFWBER3d8V1/aD88iQV9doFICLCwT0Rc8M73EqBzRXC3NXzDd2R7hkbEjkKCCoT51M9VM7swiRr5yXlxNDBIxIYplP4EiHnA6VjCVgMfgrkI84nxUq+APgEiC9/K1hsynrwgabfFPDa/6l3obJ4e+dZc6fqkV3OalqnFjm9aZiRjdLVlJdBZlo9QHnZm48pSWuXi9wI1wKg9uENqCOx6W6i2N+rQu23jP3ymZG2lQA8UEXSR7940I+gOWnjIPGP/ji81XoOjMSGW8D4G1aOKPgf4mfj4PyjFqFDU9LM/nBJljGho34VCwX41UPPUBGKG7trKRBfz9VsHu8Mcpz4IaQ== 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=b8X519fUWVDs58cn0HjzmzxfHs0W7aQC3suLnYOOCYjm7RshOkfcfKBaj0gJ6NjBX/5l/zbGuFN/TsGOBg8fF8ppQRYUiX/ZEwdexgIUnkTTJCP3gKlQF5uypGRpz+cbRN9WteUtx/CPWergst4KUIDpQ8lMkavQ8EsRbxifhid69zjeNWnvMatjtnODoqFv0RAVloaHMOEQExejAfdRpMDrn9xypxcun2K8x+F9GFYOlyvEOZloKG3+KMK/pI5x7Jk2tomgONLu+xrz6SKw9vSu+MW9XJyy8FZszE/Yh4yFGx2z9XlTDJ8ORpF2XjTOjl651HoqeF/S8+PUPwvbkQ== 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 VI0PR08MB11172.eurprd08.prod.outlook.com (2603:10a6:800:254::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.496.14; Fri, 9 Oct 2026 14:56:14 +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.0496.010; Fri, 9 Oct 2026 14:56:14 +0000 From: Andrey Drobyshev Date: Fri, 09 Oct 2026 17:56:04 +0300 Subject: [PATCH QEMU HCI-8.1 05/21] vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20261009-vfio_v1-v1-5-2ae91d5b8048@virtuozzo.com> References: <20261009-vfio_v1-v1-0-2ae91d5b8048@virtuozzo.com> In-Reply-To: <20261009-vfio_v1-v1-0-2ae91d5b8048@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VIUP296CA0132.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:34a::14) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|VI0PR08MB11172:EE_ X-MS-Office365-Filtering-Correlation-Id: a63ac9a7-afdf-4a07-706f-08df261572e0 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|376014|23010399003|52116014|366016|1800799024|38350700014|56012099006|10067099003|5113699003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 9VWzEUmM95rv3lSpWStS2SRzTW09qiSHTZOe+WfjfMK7KLUcVhVL1xv0ItLvfwaM1IYN4VBEdK08XOR5asDf2luRZxpvurFObfqeWFbYFnN5zVafuEr9+c/eKkQJQN92ftiGWdO6B5ujIW4hForlP42KrfX9+fePnWrHt8dEt2PUjQ9+/F9U9Wg9wr4uW6yK478Y8TWqqcWEA5E0gS7J1122zoSzKAJmIa3qb3jpedKKtI5bvhcm4pR7iZnimEsm/4j9u5+vnBmtqxdWy220+DBeQjQGxBRyjSb0nbaLCdY6F2QbxzLOzaihijbxxcYYHOHeHhEN+mOkU1Gz3XiDzFIV2rP13l/XjizitLcdSEpz+NIVVj3RxmT49KcHpTndnyfY5aTd16p7LLfjC0h67oh4cxK61EQB/xLjNyUajca9Mv0Ym4Hv5AH1ypTxCrXXjc4qm6nQI1tQSXP0SINtwbmjVD5p0iR0VuZOJhfHdnm+fVtsHKFRJmkUs+kNdfRYl0NvBbuiVZRTmW/Box70rsXdS8nQNxnsygIe6d+0WMVtkP6dOXGU6EL01XPbV8TMRqmIeXIwLHHXojlEpWWDmIVXnYdRBJ/gqx3La+gznY+IBxT/sT3VoG0dRP0i9zV5e3shya+4U4sCbNpPZLvQvVPIfeBFS9IOBLQHS7j0FCBSgxNu0ZWKjAK/vJ2zydc4 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)(376014)(23010399003)(52116014)(366016)(1800799024)(38350700014)(56012099006)(10067099003)(5113699003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?empCS0xSMDVVU1dQT2pCNkFuV3ZoMjUycUdqWmNGaGFNOFVKL2xaSUd3OGRv?= =?utf-8?B?dktIZVdoNnZkczduRm16UHdYQStXL2htMkQ5NUg4aTRYYmNrd0ZYSWFNSENX?= =?utf-8?B?c1hTUndzVDNLUVRqdCtNc093TzhJaUZ5WWk3dzQ2OUlNNXdTZEZud3g4LzBp?= =?utf-8?B?d050KzJQS3FENDRTRVpvZVdJOWlWeG9TTkQ2V0k0UHd5cU5waFBGeC81QUpE?= =?utf-8?B?by9BQ0UyUUlOQ0wxdjh6eGgrSXI0cGZZeHIxV2FtR2NVMUFUK1NCNkV5bDAw?= =?utf-8?B?VFp5bi9DK0J1aWRaa3puU3hrRTNxK1FJRTN2eTl2dXJRZFoxZU1mTmRPR2w5?= =?utf-8?B?SGVDbStFYWVmUWRnMzVxTFBZK0g5VVZaN0JZMDBhNUdNMzI4YlVhSVRlVVNJ?= =?utf-8?B?OUZoU0FjTEIrRDJQaklhZkFZRjRqT0M3ZFEvWmRFb0ZLVWw3R3pFaUpRT0xp?= =?utf-8?B?Y2E3NTNrekhXMm1HeTIxdStiNzRZV2g5eWU5ZWVVZGpsSnB3YXdIM2l4UEtZ?= =?utf-8?B?dDQwYlAxbGdvSklLcUwvTUtqWEV1bFVyQ3hucUhBb1JBazJBRHIwMlVIdEhn?= =?utf-8?B?cDRkQnNlT3E4NUZzVG5JcVYzZkJuTDlTYUhZVG45WjVEWnNTTEhSQnpYSVdV?= =?utf-8?B?dStuOWdnRlp6c3FuaXgzbDE5TFQwODZBK0E1SGdSeTN5RitjMW9OWU41YWhT?= =?utf-8?B?YnZXYnBwei9PTFdQN3ZrM1RVdUQ2azFqa3FwL1NFVEZZdlg2WGx6R2xWYms4?= =?utf-8?B?SjVlRDhid1pxN0RzQ2I1ZURBdnNhN3lKYkxyQWxmZEdQVlhPL1AwaEY4a0VJ?= =?utf-8?B?bHdBVEoya2hoUG1oSGtNcnZFcUdxTC9HbmFCZGQyeWFaVVdmaTA5blZvV0hy?= =?utf-8?B?NzR5elVXVmo3UG5XbXpPN0dLS3pUTFhxbVRtUVlFZXQzTkRwcEUxeW4veGRQ?= =?utf-8?B?SUtwdXljT1NDdlIxOXNSMW9yUmk0bFhSbU5MNkFSZzQwWGFiWUdpSkU3RkJo?= =?utf-8?B?VU5JWmFlV2ppSk9ZZGpXMHJNS01DbFZyWXM3ZTlBYWVRRlJpNFZnck9FNlZW?= =?utf-8?B?c3NxOU9PZnBvUFRrNWc1VHVZNVM1am5PcUJ1RDkzcFk0dXNJWDRCYk5vS0hu?= =?utf-8?B?TWw1blhpcWpJbDE3UmlQWFpjQUkwNzJmWDNEOFVNK3lIUmwzVENxTHhYRmgz?= =?utf-8?B?VDR3TnFiNS9wMmw5anRBTFkxaE4zNTd4OWRRMjdwL1B6dVROTEJJdFNGRTNU?= =?utf-8?B?ejNlRDNoZFFYZ3diaGFjb0ZHVDNmY0oyQnY1R2Z0eHJtK21FUTZYY3JBREJ6?= =?utf-8?B?VTNzNmt2aSszcy82WEE4NEx0QUE5S2Q5NndQTTh6ZTBKOFlINmZoZlFnQldi?= =?utf-8?B?R0FqZ2RiTVBiT3p5d1FycnYyb0krckx2RU5relQwVEZyN0xnSHhjczkxU01C?= =?utf-8?B?eWtWNzRQOGxBZ1NFaEU5R3JTdWJ0M1dmU0dxamY3eHZGN2xFS1FvRG5QR2pX?= =?utf-8?B?Wllabk0raWhCT1lSWS9MRWZsakd5NTI1cDFCNXlPOG92NngrVWluT2h6Znk3?= =?utf-8?B?YTNCMEJpWlprQW1LQTlvR3VHZ3pFdE9laWQ5V1kyWWdRQ2RQY1RyaWpRZys0?= =?utf-8?B?bmtQSDlGbllQTXQ5cTNRS1lmUktEMkViVXNha2JueEpMRkdGSWlUdnRFQmZF?= =?utf-8?B?M3Q1UkxxNEY3S24reGtIa2RySVFTS1FGa1NoMU1kblcxZmQzdS9xVXkwQzdM?= =?utf-8?B?Y2ptY3B3dHFxRjYxMVRDbkVCa0xKZnF4L1VBcXppYVhuZmRXR3FyeExyQi8x?= =?utf-8?B?K3JvT1NmZW9XQ2RMbUtCQmI3QlNQR0xOQnJsVzREZTdHajYvTzM4Wlp6c1Fj?= =?utf-8?B?WG1waXRjMzFXY1l0eDNnTU5sN3F1WStVRzNGTUhMOGdTQXM2NTIvbnZWNTlq?= =?utf-8?B?VTdKNmJ2VWg2RktkSFhXeWVIZ0o3b2N2NkZDRkZpcUszK01lOVJIZWFNTHcv?= =?utf-8?B?OFBuMUR3TnhJV2d3ME5IaW1wQ1d5OWQ2T3pTOUhpdlRFa0hEYjVsaXRydmJS?= =?utf-8?B?THNoK2pKNHlRY01tYnljeWM4UFUvSVp2dmd0TktVUG1GdnRVRkRUOGI0cDJw?= =?utf-8?B?cjl1V09MTG5lN1BEL0lZc09hWUxiKzlGS3k4NE1qamEvT1JTM3NQMGR0ZGRG?= =?utf-8?B?ZVZpN2MzMytPSXNiUDl0eUdEZFQxSTZmZTBhZGZiV0paQzJ0bWc2RjBpVHpI?= =?utf-8?B?cll4U2pLU3FiTW9xMjFpNVBlLzZHUTRualcyT2QyWGJkN0g5RHdYc2VGek5J?= =?utf-8?B?ZDNFWmtFbWsrbGxERDIwVzhLTEExampKUmtWck0wTXRaSktrUWxIeVk4bW9D?= =?utf-8?Q?kUoEB/fV1MGwho48=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: a63ac9a7-afdf-4a07-706f-08df261572e0 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2026 14:56:07.5577 (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: JMp/SaRpT7zlOptDme6/nNGq4YgOAxLw6w/MWikIVrtQZ2K8Xed0G/c4BPoYg/aYCYsf/iNzndAPBgJCIbPqnjpzCzggcy52K8XOLKz7p4k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB11172 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