From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022135.outbound.protection.outlook.com [52.101.66.135]) by lore.virtuozzo.com (Postfix) with ESMTPS id 6A8AB8109D for ; Mon, 2 Nov 2026 10:36:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S7+uXiDM2Gej/WOHF8O5j1nhv0byHNjhOSkAKfo2W8UWMc2eoeS+b0G5MIceZAm2iKvNW43R8rAmnoImdbhh6KOrSxr1aKIJxKPomcWlERlz5NhRO6BeIPbjxOU4RaylDPQaE6CmzjXb1+q+xHmiH+m0GxBSMfFl28q5Pm7Q8wp2NP99y7jls7xBflhyKA45rgPugLX+O0XNjkwDfey20ny844SLSVSMqLI/II3XsUouGPJGwO8rQGq8kX27OSSaxrGvno1d2Uc3IHXSj7zKOF5Gut09skOoqKYQQXsoUGZ4ZOZt6bNhmEQfiPdazhM4k8zqcRbCvitne3qUfyyrkA== 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=PDGLMIXGNIPqV9guanyCgDYEJ0jcxC6L5Y9yQ72o2Vo=; b=jQnZhiE86Yn98WK4lN8yY/QH7Lq2lNTzaVa1hWiJon7Xk4+X83sfVHqJNm68Bbkg/WJ1BNPzYk8yPGkIZg2rJ2HRwrYdQYSXJt7IXIhvaw2Rz2PscTaCzU40TXebVHmW7N6pnVwKfra1bxveStFkBI3EaW8YaEHgdOd/nijY9+eN/O4ybT7v3U+eHIksIjNXEjEBCp9IZQ66qyQfghBYAc6czVKSUGEauddRWe6fhFRr9uWJOPSBk9fOk4alzxqZYRT1NKp7aNmu+ufefd5h7e2c2K2vpSeZcizO3gTzBypZeYYh7J5siy3kKFZia7W0VsxCFn6nE29ur7T9MBxJGA== 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=PDGLMIXGNIPqV9guanyCgDYEJ0jcxC6L5Y9yQ72o2Vo=; b=OAmhojbm77i3bE9ABwKxaw8MlN/6ORbLTGCIt8N7rdTUfYAk+lNkBIVjZaPSuOMynHk6qFuuPP4XBS1tKIrSoBLocfJmf9ImGYw44yMcDOnlUv6lEz0pTJMma41Zyk/5xwdlyjr7sswHNa3ubDksqfrMJl/PnwH2GnuBkBEGrtJF2gaz3ybCioBc2KiDkw7fwqKf2oUWLz3jRc3pHXFTWD4TLMC8Pc8kLhAekoyGIzihEeuXM/qL8lU2kttriv43Jm2t57t/hl1ubbKfNsfWoG3iYcZOIG7XeW/wRLR3ioy9SQxFpZx9hxCoYVGtPK+KBukl8dw8050mPisn90G3sw== 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 DB4PR08MB8199.eurprd08.prod.outlook.com (2603:10a6:10:381::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Mon, 2 Nov 2026 10:36:23 +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.0569.011; Mon, 2 Nov 2026 10:36:23 +0000 From: Andrey Drobyshev Date: Mon, 02 Nov 2026 12:36:18 +0200 Subject: [PATCH QEMU HCI-8.1 v6 03/34] vfio/region: create BAR dma-bufs with O_CLOEXEC Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261102-vfio_v1-v6-3-9bc7cabc850d@virtuozzo.com> References: <20261102-vfio_v1-v6-0-9bc7cabc850d@virtuozzo.com> In-Reply-To: <20261102-vfio_v1-v6-0-9bc7cabc850d@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VIVP296CA0048.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:353::18) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|DB4PR08MB8199:EE_ X-MS-Office365-Filtering-Correlation-Id: 48727859-6d60-4a66-6200-08df38cd23a7 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|52116014|376014|38350700014|56012099006|261009223027099003|261021123027099003|261021121427099003|10067099003|18002099003|22082099003|5113699003; X-Microsoft-Antispam-Message-Info: febp0UkI4hJYNgKO9uQQPZfDrHLjPGCyDkwZEyaBcmcNJHzIwiWwolVD6ADbkXd1+Rt2HGt3qTJ7Ctv0/EQnD5IMiiIE5mJ2tma3eOKpjVd1g3DCr8MLX2AgKxwb8IwSYhfLCnfGvXj82s4ciZLMouYfynNzLkLp5Th0Bu64wS10JT17lrN6TRMOFOxP3SecF9bP7pFF8ToduEqREpVJwA3sXMg+T2I+h1LOhuRHZK/tvRT2OnUCzybfSwZb1Mqs4C1CUqQOkK4LgPthNLUTIz/f4S/XBTUNtPIYXFp/as6h0nEKlGdZa0gb0RWKvGvJq70E3nkq9OEuF+7aeif/4WypY0NdfBYRqvxL7w3BZMwZcJ43mIOf1mN6J9ZaHR4KSraUslVNUwThSQUuNyUXW81G0z9ernbx2JA8/j0ivPzhOXcaOoHN3p36Ob5nfGuXXfaMFJLjSEcy1zc5HUUaRyUvC7T5dwaymW/y1mEdeU0l2lG0K6UHojE7zgBvFwCU48oKlb5OdlzassAqWls2FLb+WRsEnt5EuZ80h+Er4OlPJEbBz4W91Bn6BaEO4USGby+VzGcytwQkBsItUYhSqk0wwG2vXoNQu5PFhqcQjBuKeWcDchFASweTGgro8VHb39l7wylRpl5b4HuUPv8G5vV7n0A9kUtnoqx0oSdSr1h/K2RgRm/H8HwFwamTQTgQ9x2Uz9DwgehCtVDT6XkSOwlU6XPrKEzjOqlHk8asKnk= 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)(1800799024)(366016)(23010399003)(52116014)(376014)(38350700014)(56012099006)(261009223027099003)(261021123027099003)(261021121427099003)(10067099003)(18002099003)(22082099003)(5113699003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bCtvOUZpKzM5aWJFUjk5WmxieEo3cjJ5RFNGMGVFL0xrUHFzczI4YzlGcEdo?= =?utf-8?B?ZVNRaVRxQW9pTnRPYzQzM2FMUEJydkJhaXhYc0U4YkdMZGpJaVJtRjVIWWpL?= =?utf-8?B?UW90TU55MGVJWmdFZ051UVZ0c3dwR0Z5QkdidVhDL21qMjlZVFJFR1c5OE5C?= =?utf-8?B?K2lUMTV5eWk2WkhGWGFReXRkR1FzSERiRU9FOWU1ZExNRncxUjdsbnVKUVZC?= =?utf-8?B?dm93NzlGcW9tN0tDQnJ1Qk1PSkhaSGpQbDlMZDQ4NXE0ZlJHYUVJalBNV0Jn?= =?utf-8?B?bGpSdkQrMDhPT2pwUGFEeVlvZllVVFlGN1VKbWZQM1VwOFlvd0p3elRZZWcr?= =?utf-8?B?cThwcC9DZmFWcjZyUUpCbTNTZEdOUHJUdjk1dTZoZUFsMjhTODcvSkxkWU9S?= =?utf-8?B?YzB4MGRoZDhPdTkrNHJwQnNlZDNpdVovK292SkxMMXozVFdXRzlCUzBYQkIv?= =?utf-8?B?UjlFOWZ1UWJLM3ZDd2RiN2ZLNjdYTlZJTTVCdTJHU0hnOVVGcXhyejl6NS94?= =?utf-8?B?clhMYUhuYWoxc2t0ZksyQTFqT3duWlByN0U0VVlJbkIwcjhQNnZWenZFWGZB?= =?utf-8?B?ZTVBT2R0eWJUeVpEZEVLN3ZRU2JWR1NZTitldzE1cHN0TUI3ZmU2YUljdzlF?= =?utf-8?B?YURlbHZYeTU2VjkxY3hzMVRObGZuZENGcndJeGwvOEwwbXdXTjBENncxVnVo?= =?utf-8?B?eURNdENlWEkxdVMvT2IyOE0xZEptR3NFZlN0UTVUOFV3YWNrYVloVDlteXBE?= =?utf-8?B?UkZOYUlLZlJ0SUYxT2U2L2lwUlRCWDdxb3VsN1VCM1RvbWtrWTM3Zi9IcllP?= =?utf-8?B?bUd3c1BLdTJzakpjSUhJbThvbXcrTXlVOVdKL05IM1FReDJIOWR0ZFBYQmdh?= =?utf-8?B?cG15RWtHektHem5UMjAwRm1LQ20xUW1DVnNuYmg2eHZxcDlWdVk5MGdIQmsy?= =?utf-8?B?NDZzc2lQa1g5V25XdVlhTlZsbEVsWEx1SHRRUGVrenNZZUhmUTZGS1o5SWFV?= =?utf-8?B?elJlR1UrdDJuNGdvVW9GYS9iTHNRZmNkaUhmcmdWenY5Q3Y4djdBUm5vYlE2?= =?utf-8?B?RGErdlBjWXhhS1UxUExVd1FvVTRxSnBZWE1VMDhSWEdqcG1lTkc0S1B5bm9H?= =?utf-8?B?alVtK2J0eDdaVXB6SlhKK2c1eU1BcjhNMXA4eVV0LzNTSVhKaUkzQkQ0ekNy?= =?utf-8?B?OFhOWWpTWGVaQ1FEYkhoOFd5R0Q0NDRpb1hCUmVTbFA0Yy9YT2FrcVRQTGF5?= =?utf-8?B?ZFRpSG1tdmM2ODliakhNVjRjNUM3aGJaV253NkgzaFRIVHJPc29YcW9XdG1l?= =?utf-8?B?bHF6aTBDajJxNmdCY2VOOCsxbjdCREQ3V1hMZ2w3cWU0Q0wrbmFBQmR6NnM0?= =?utf-8?B?V1BhL2ttaDVSaXRZVU13QWlsMEhjMUZ0U1ZXZkNxbHJsckM4TjlHWEFySXRF?= =?utf-8?B?TlUrSkdndm8rYjJRb1ZncUExUUJRSWVCSWVWUG9ZZkgyYzcvVWlRSU9vMm8z?= =?utf-8?B?cmNyYnU3OVB5QkpUdEd6RVZwVXhyWWZPYzdGd0FaN2NxUTRScFQ1ZnEzck0x?= =?utf-8?B?ZTU0dnF6ZkU2QjRuUndNOEFjTERtWVpFOW02aU1mS2Q3MXR1UklGbHk0b245?= =?utf-8?B?RURhTmhaRml0SjUxTkdqQTNyWGxqSlVFNHBDMnpramV6V2RQRllnU25lN0Ns?= =?utf-8?B?MFUrbkV4cnFHSCt6bkI3VW94VU1oMXBSUDB0bzJmeWR5N1JGS0kzcXFmaGwx?= =?utf-8?B?Nzc2TTlZbXM1VkJKSG1TdVJyekFxK2ljR294LytJRmRUSnZodXhwT2M4Wlcy?= =?utf-8?B?L3JnaHNSS3NkS1h5cyttQjRLdEpHc3FjRWJpOUozTEJlaGlCaGRZL1JlTWlx?= =?utf-8?B?UXcza1VQK05XV05CVTV2YmIxR29ja0Z0dmJsS1h1UHIxOWZLYVNQRVZvdXpo?= =?utf-8?B?dFRMc25zN2NjT2huV1d3RUhmZW1tNmRlR1drS0xDWUsrcGlHaFVuY0F4TjhV?= =?utf-8?B?WEVOaG56K09rSXpOWUNNSG84a1hYMkhDYmtoQkRjNmVac3pCeEYyK0RYNkI4?= =?utf-8?B?a0lVekNwelRoQWlHM2NLZ3ozajhaYUtITWFyY3JwaFhCS3pWUGFCVWQrbFM0?= =?utf-8?B?TGx5bjhkcHpsTnhpc2FZdFQzdEdMdk83a1h2cUJHMzlxM1B5Vy85Q0lOMllp?= =?utf-8?B?NElCa014UFZMNDBkbGRCT3RVMEhmK0p5QjRDd1pFNEFJWDNFdWwyWEIxMi93?= =?utf-8?B?dzk5Sk1kQUlwODBRSVlFa0JPcXBLU2VGWGRHeU52ZEJWNmxWTGNpR1ROMDJM?= =?utf-8?B?RzZTS015YTBMbWZyczN5QktsemVhbXZXL3VFaGE5bDRyMDI3T2FjTTV5bkh1?= =?utf-8?Q?guyAg6f8tln9F5Tw=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48727859-6d60-4a66-6200-08df38cd23a7 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2026 10:36:22.8650 (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: 1V3qKTqsub9WM7zfVHIv+rZgA78arCPR6DQK20AQKFKLmlszwhErD1Ul59opx1pFpu6YqJL6Tvo5bGb21H0yamDeEkLdhFYOa7lfNqIue7M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8199 The dma-buf fds are created without O_CLOEXEC, so they leak into any exec'ed program. With cpr-exec, every update leaks one fd per mmapped BAR, as new QEMU creates its own. Fixes: 96163e0dbcb4 ("hw/vfio/region: Create dmabuf for PCI BAR per region") Signed-off-by: Andrey Drobyshev --- hw/vfio/region.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/vfio/region.c b/hw/vfio/region.c index 1deaef12fd0..b0332f27fcd 100644 --- a/hw/vfio/region.c +++ b/hw/vfio/region.c @@ -258,7 +258,7 @@ static bool vfio_region_create_dma_buf(VFIORegion *region, Error **errp) dma_buf = (void *)feature->data; *dma_buf = (struct vfio_device_feature_dma_buf) { .region_index = region->nr, - .open_flags = O_RDWR, + .open_flags = O_RDWR | O_CLOEXEC, .nr_ranges = region->nr_mmaps, }; -- 2.47.1