From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022124.outbound.protection.outlook.com [52.101.66.124]) by lore.virtuozzo.com (Postfix) with ESMTPS id DFC7780B92 for ; Tue, 20 Oct 2026 16:30:56 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YKYSELM3FDLJKcaVOnUNQAjH8NItjeNaNmknr6KDPnJs/qy0iwL9rTGQSedntS84IGTLKaFpjvloLFV8utgaj/QQK4dsrRXLglt7llpIbqgALn9nBnoxlPv5kDAAgzuzgmeB9msIA/T2I8js4b/s60JplP94+Hqgh5AofHpZQleSqGvaxeP+35TpMZiZDkIGEJ21L2AVCC8vTsGM4Qt4cVTC7PayD1W08e56aqtuhh1wDApjW7qKh0aKaRCzwYz47vI5ZlImcdbaJfyXqG38dYiY8iLK98MZT+c4AlmRZNgzdJ7wtTgTCVhLgwxWK/moKzYIqLey0U6t3tOdTLgMLw== 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=I4XXOXX41QtcRMb1kPiWVxP95rUMi9u/65huyOsbY6EmZwsaE7Bp1dHk/zn1X6/Bg0xrqyFdKPYmdrQbZFm5lGI6mBxK2MHSiR3gjkRX3z3SRekKo0Vt18zbx+einGDQkGEEFq8JR837OPQVuRkAS0Ok9vwh8Noa7imBSrrU1eeobLconBT7V0s44h79c94/ka3VLg9Aea5GtquUVKdBf0+shMRhaBLNfpHPOzQejBkF8C3AFrYhbqiOcSTW4l/70x4av4V7e/VcN8aRmx/01/ENV1HUHQ3h6XeQ5oMybnbrpL5PAB6d8ubBxwgjsVMiF3zlT6lW7XGB0pmBuyHkxg== 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=ay0lNmbHRzjst94Nw7JEKJ+I8ReYwar9esIfrgqOjjQUDHClklsNGxe7txAkKjmZ2alQH3VmqSFx4TayWAuJJtKiIx7as81SiFsJmgYGcvlnTe2ZMbpUGQXhaG9U6MaSsCJX7r/dK69kiLx5UU5SvwEwxOcOppVqHVakvznQOYAFXZmpNhG5ritoHIDizKW5Zg949o/uRUjvHh78igzxaUA+XMNZIg91gRqXYpc4Dd7p74W4NW/N18Z4OUJelQambix28+BAheZKfF020fxrLxDyBYp2gThsDBk/6XoW9VEkstQKdzSp/Fta7/849vb//XOduwKjTqVLLYa3T9YPAw== 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 VI0PR08MB10683.eurprd08.prod.outlook.com (2603:10a6:800:208::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.14; Tue, 20 Oct 2026 16:30:53 +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.0546.012; Tue, 20 Oct 2026 16:30:53 +0000 From: Andrey Drobyshev Date: Tue, 20 Oct 2026 19:30:43 +0300 Subject: [PATCH QEMU HCI-8.1 v4 03/31] vfio/region: create BAR dma-bufs with O_CLOEXEC Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261020-vfio_v1-v4-3-83a5668230e5@virtuozzo.com> References: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> In-Reply-To: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VIUP296CA0056.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:34b::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_|VI0PR08MB10683:EE_ X-MS-Office365-Filtering-Correlation-Id: 2c7f3b19-44f6-4884-5086-08df2ec781ec 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|52116014|376014|366016|23010399003|1800799024|261009223027099003|10067099003|5113699003|22082099003|18002099003|56012099006|38350700014; X-Microsoft-Antispam-Message-Info: bKWFVM+E/CoRXO865EMn25j7GZD2LduDipIAuIq1HP9ZkTNJhGjJkxTgZiTyUihlgn1IGAC8UXReD3BXmlBx/1X+pJ2ItV10O7uskTwDgmJX+7/hRjI4CwiYCAROxDzPTLbxVeSYFV9QSnIgppZq5cvMO3huy8gdS+3FR/RlM5G/PbOGWUhBSMCe4EaFtZJ+S8MCK90j4vyBFeUnhJkrU2LF/06dApm5kWp7RskmUu0w5AksJ1oo+hDKa/vbPQUMwVPz4eUdD3LFFS9EIZAhg+Zm+ygjjSzp99Zc+9ETtk3gW/6WODnKttFET+e/t0AZTfhvlJZVaOAiLElnoxT41Ia6tVspzZWSHgOMRzX0k6mbvpovCbezthN4x253FXLkSnJ55jTh6oDGP1E00lTzjMhVah/c/J60IB003XLQoTiz5G9TeAO+hmXfoXRQAfTrlpjbLhOU6BdpDzn+F8rRLIcdf9kUWNugfGZeDDEfWqNTDGXmdDkAEoaSp0zcK66R5zVKXOpjCWnY09SrsJ425+kLaSbrTbQTAZIWA131grq06CyOOdmkrOXLaPDweg0w6LLLsv+j/gf44mN88SWjFbvwFg1KZIwk5Dmopu/Tr7EPE8S5vwKjhaYwYShPMWmF2oeEql+FBc54jfa8hVm22MlN/Un5p1oUQaFU72Zjd/u+toT6k2h0ahLstLRH7mA21wreA7nnJWMpfizW85YKV8WS5zbhG285Rkwgi4wdxjc= 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)(52116014)(376014)(366016)(23010399003)(1800799024)(261009223027099003)(10067099003)(5113699003)(22082099003)(18002099003)(56012099006)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnJSZS9MMjdLMFZhNTZxc1huUkQ1Unc2c3RqcFI3UnNpbk9YUm80S0wrVXJr?= =?utf-8?B?Z01KSGZ6NkdCOVVTbVdNQ1pQT2hRaXBWd0xXT0tSNVhYNlB4U0F5QnhEOFV5?= =?utf-8?B?N2VmUDY5dTYvM0gvZXFTbFBFakhReU8vVkZzcytsdTJGN1B1V01iWjEzOVA5?= =?utf-8?B?NS9ra0JlRW1FczhqQ3BqRXg0aGJBNks1c2FySHYwYnhhSzI1c0cvWThmZ1li?= =?utf-8?B?ZzRRSGI2eUZmSTVmSDlnUHdHWE9NTzY3Y2VTeWVSU1d2K0VSa0RtN2J1TDJW?= =?utf-8?B?Rks4S05yNkpnVlQ0WjVaK3orWUJuUW5DUlUvOHVxSGsxcVEvbTVwWUM1c1Nz?= =?utf-8?B?L0VPc1hxdzU0RU45aEk1RFdMdmtPcjZnUlhjTndmWDRMTWlUcUhLSnN2ak11?= =?utf-8?B?Q3dFUmpKT3o5TzZ0ZEJhUm9vNlV0OTFiV3d4YzFCQVZWOHcrZ3haa1pFUnNF?= =?utf-8?B?ZmZGemZobk9RRjd1R1l2VzQwKzdDSnp3N3ZqckdNZmxublRVckRjVU9Yc09U?= =?utf-8?B?dEFUOERrb3doQUxXTUE5d0dpTnFlNUNRMnZOYjhoWG0wMk9rUG92bTRqNmxR?= =?utf-8?B?SmtNZm5Gb2doekg3Q01QOEFHNWlKYWZmMzg2N0h0RENWamxXVG5wemIwKzBy?= =?utf-8?B?VXZLZEFmay8rYy9DM0xmMWhEWTVJeXRka3RWR3dZYjcxdml2b3BYM1c0SEJN?= =?utf-8?B?M2FJbG9ldWlXc0xJMFVHUThIOGh4eVdZZDU0blRya0Z0UHlLTSs0TFphSE5I?= =?utf-8?B?Vk1UbGx5NjNPSTF3eFg2TDhVQ0dpN3Fab2thUnJ0SlZvakVMZkFYZFMyNVBo?= =?utf-8?B?cHAvekRJMXRRWVVUaW9QdnVCWTVtcEVkQUN3VHJ0N3V3c2xFejBnZ3d4MlhN?= =?utf-8?B?OTdQdGY1a1hsSTYySERSVVlteEtUdzlyWkM0V0xKMzhTNnl1Z0p3SDRPQ244?= =?utf-8?B?RG5YbDFWOHE3dkZWbE8wdTVsdFZ3REU4cW5DZktPTFFscDgybCs1cHJZaUFB?= =?utf-8?B?ZFVJRUpDSmNudkVFZHhPc1VSMndoeFNTZzVacVdMWS85elRUMFRDdUFubEJW?= =?utf-8?B?K2FtNVl1c2JmV3lac0xscTd6SVlyU29yVTNhOTBNR1g1eE1Cd3ZIaDcvaENq?= =?utf-8?B?aHdVUlJYQWZ0VGtkR1BzRjVKMzdmQVFXRjBkbCtQNG5OajI5bFg1d2ZxRjBH?= =?utf-8?B?Q1hnTkF0VG5qQmlXUDFKU1g3cE5qcFZuanFZdThJQkMzdXYvRmhkd0ZzbXk4?= =?utf-8?B?N2N0Ly9BeC9US0VLOUlCUWRlVG5pVW9kUFdMRG1SRUxzWFdoVW9CYUlSamtk?= =?utf-8?B?eXhpQWQyZTcyWkdBdW80UXR3L1QvNCs3QTlWOWczdTF0OGUzaEM5akgzS3ov?= =?utf-8?B?KzcyZ21RR3M3SWxRQUhqYlcxL002MmxGaWs0Y1JVYStmNHBFWjdUK1g5QzJC?= =?utf-8?B?RklpKzluRWEyMWNReGduTnNIN0sxa0lHWGViQjNZdlJMS252eHdkK2dQMHhZ?= =?utf-8?B?eE1lZGdVS2hVVjlMZ2ZWd1N3QWgySWdaOUJtYlFWNEtFRzY2NHl5OEVHcGxl?= =?utf-8?B?RXc5MEVJNWdudk1WaW1kTUJkcUJQKzFxaEpFajN6S01mdzc5LzNmUmdJUHdi?= =?utf-8?B?a2dOdlJySCsvVkNweE1GQ2JxeHpnN0M4MjRRRURhL1dyTndHVm9nQkMxcUI2?= =?utf-8?B?S09Mdkx3N254QWNJczB6WXA4YVB1ZVo1SURWdGlBaW1nNFc4ckZrQW5acm5H?= =?utf-8?B?TGRUQVZ1TUVkMGVreEZaamZtdTdRUkJpbUpBUThKUWFXdUw4dkJ3RFJieGlS?= =?utf-8?B?QVZaTXUzKzRjRlNFTkV2WW1MOVhHRkNhVDZaZUMyMUY4TjVsT1BzM0ltejFS?= =?utf-8?B?MjZuR2w2NTV0LzlGS21kU1Z0K2RzL2VBSFpyQ04zSUNxbHlHSUd5Sm1WVmhz?= =?utf-8?B?NkZWNDBvVS9vYkZRWllaY1plcWpVK1grcEU4UlBQN3pTeWgwOU01bkxyc2kv?= =?utf-8?B?eUg2K0FqK29XTW9EcVFFcVV1RjQ5UDh3L01BTEgzTUtrcXgxZlc5MW5ueVZs?= =?utf-8?B?WmlqQmJzSzA3TVdMa2RsTHIySTRxWWdWWVZaMjRGWENQbmdwNWVLajEyZlFw?= =?utf-8?B?aW5kVTV1NWVwUklteGFhaXJrdjhBcGNMNi8vUUFrRWZYc2ZFckNQWk03Vko1?= =?utf-8?B?eWdwSHZxQWpQQnlWOThPUTNWZU9acFMyNCs2cWdjSmVvZTlFNVFmYjVzUEht?= =?utf-8?B?UXZXM2Q2SGV1NXlwSlRCNFZJKzJJY0JEVDRZcWY3aUo1L1g2dG1QSkZ0bTNY?= =?utf-8?B?Zk1VaWVudlphNkVjN09sYVlBVmROUnZ3NDQ4OFRrSTZjTVp3SkozZnR2U1BC?= =?utf-8?Q?ekNR9ieatzNoXirY=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c7f3b19-44f6-4884-5086-08df2ec781ec X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 16:30:52.3818 (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: D1sLFR2BN1O0g6I//Zpu/J5BVsViiSPcXPnX84U4yBTfaD6fto16+tPniJenn7LoQ18nJhXJ+8SxGnU+ubA/Pd1mOdcJMWVH8mLbtQpQ8+U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10683 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