From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11021092.outbound.protection.outlook.com [52.101.70.92]) by lore.virtuozzo.com (Postfix) with ESMTPS id 0F6BE81229 for ; Tue, 3 Nov 2026 13:57:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NJWfiVK9OzBMmZwVc/0w5VGjWvS7MjPP/G+Qoe/B6KiaOy+iOwE6h/aOw01rVFpuvQQi+e1DA/cqW0UMMTH8Z9HyoU+XGCg3iBvGPNM3iKcDg5lRA/KWNFWLuhXRn895HdDPoH97l3jZoY02EVnipMEu9xWAfz08I33cvNIGjcovgxhLTBISoMi8aXcP6YCA4zS3npJVwFb3GNzEHLSqfH8QXr+BJtxj9onhAJc8FM1CiFCHfSvhAKyAVsKioor8C7EhAlxZm50ymRGlKNqelYyKFJ/F23pKHz56MdZcwQwYtK0z3boGKdqTrbuS5snLO7td0Pua9Ooaq0XgG3hNOg== 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=j0qNRxSvrdZxSTwC6JbwsEQL8aIlYqCh0u+Iydw2hJstwbZqnp/Sp+DOib4hYuNkOk5TtJxcdqiEUCX8mvdjqJZqELUYfpnDWSuBvrIJK5w5zczFPEmo84iUKdcSPwzFS5/m7BkLriWIuVq2R+m5NtUzLCmM7le0EkI7TepAoR6dKWhw7aBpt4xI38WuCwgPoIxg0FWw/mmtPZskeyipF3oW+z1kM+xy+KmsMVWkRMHJr5bG0rEgK2EtDA3Bd9SdxjElD7RRrlgjUgitHvJnJOMK2mPlDbmqzd2/vX18R7Gwa59I1LdF5AAaan9ASUj1odLb1UNGhQIblDTsD9yLkQ== 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=ecNxV5BEu6zboPy1z1dUmksLwYAN0ST5x59Ndj1kYwA7McivnVTZLJHVCqkx+4AYV8w1X8z1jBNy4Ewcf+/+D0bcixjxmrLn2UQgpPSGUoMr//ogYxAIg0rXGMYwUyE5NI/rnDZkk+oX0v1QM+FTLLEBOBf73pqLebSQEUOe8GwlyebzZUVhd/+Z0fDopKPGseSVsMlEYfHWss+M6ODski/tAdUpFM8ZXEoCEzarcOK9lYJICVimmNadaRt2QykFgfUmv3GqmB4/aYXgk6Hpr+bLUrp5ae/Qrif59yI5vXWlifWJ3rKxMkVkv5Ocjfcsdb0i89+GJsyCxYwZSZFk4A== 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 DB9PR08MB7423.eurprd08.prod.outlook.com (2603:10a6:10:370::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Tue, 3 Nov 2026 13:57:26 +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; Tue, 3 Nov 2026 13:57:26 +0000 From: Andrey Drobyshev Date: Tue, 03 Nov 2026 15:57:18 +0200 Subject: [PATCH QEMU HCI-8.1 v7 03/35] vfio/region: create BAR dma-bufs with O_CLOEXEC Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261103-vfio_v1-v7-3-4467fdccbbe6@virtuozzo.com> References: <20261103-vfio_v1-v7-0-4467fdccbbe6@virtuozzo.com> In-Reply-To: <20261103-vfio_v1-v7-0-4467fdccbbe6@virtuozzo.com> To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI4PEPF00000153.AUTP296.PROD.OUTLOOK.COM (2603:10a6:808:1::86f) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|DB9PR08MB7423:EE_ X-MS-Office365-Filtering-Correlation-Id: 3af1c100-bf56-4434-9d6d-08df39b2644e 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|366016|1800799024|376014|52116014|23010399003|18002099003|22082099003|38350700014|56012099006|261009223027099003|261102123227099003|261021123027099003|261021121427099003|10067099003|5113699003; X-Microsoft-Antispam-Message-Info: RNXAIGVnkW6iTDwfEQIea4Dmeth4j5GqRft9Kg+I2drCiVtSnWEo+ga5uKl8I03+D0gdaIwzow6GGC/YL/AGmr5hLk0dcmUZrJcFYOUeeUI0/x7Ma98CTSjI0SoQItmp50xi2vhBR8996NbkluFucRlDyYjEl4u2vHmX7KI39BxYWVR7FMyDjJrNQcJajQFAIlqGwG89v9qQ+E+G73BKy6Cyw1/ql0Ffh1Z8uhtYaKkurMDlls8Cuarptb9I4lMGCnsQ06/0TSGqg5ZktAn1ld8dtzCb/oXi0T5YXsRTPQYGLBsesYiCXkeXQdtTMugnSDrC5Uyj64Ans92pBzp0v6nq9VGdAzrkKBK0crWNihLILnFubJTEpYLUyrWIKUSfEVkDVxSGRNZgD25Piyag0weTqB2ojme5BWkU5yowG9wpSa5lCgXj5gFzCf9C6d7/rNsGdbP/4veWoJhnE4MO5gSGaXUKOHWOTFFgpOCUEa+3hBscZwNMbTCkhoKwQXbGfNlkPLR2mChU8ViuFb657tD4e7PvtScfcenUggykPyhOSnFWoDn8jJB7jwBBeRJ0rczlUdeySvjzqSI8WEf3NFqvXJvT3eMvGNtA/41RsQVgfE//4oGPICdLQm5LFT5whVnxkxUL1lsQr1Tj3cOXE7RfFXdhKSKU0IShTP3m+G9sr/0TAgEvfOiu2CW2P9p/S44YeCNLyFHtYXzNobyLg9iS84WwfW/d9pfUXHsgUv0= 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)(366016)(1800799024)(376014)(52116014)(23010399003)(18002099003)(22082099003)(38350700014)(56012099006)(261009223027099003)(261102123227099003)(261021123027099003)(261021121427099003)(10067099003)(5113699003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YlpxY1paMVB4Y2FVbzNYZjZhNFFDYTg3UlFnVFk2RXNQKzI4blVic09DZHM5?= =?utf-8?B?a0NEZHNMQ0grdFh2YzB5UFBuRnYzc0ZkRFdQS2MwKzU5YThXQ1FPN2ZYU0pk?= =?utf-8?B?RWN0SWlSUjZMNVJsSGVudHZ5d29yZVRVZFZvNndOc1B2b3VTQWYvNGdianVr?= =?utf-8?B?UkFBZ3NSYnZYNGJGSXpYWnFhWDJDbk5zcm1GcTRkZStYc2xhaUs0RUdoZEhM?= =?utf-8?B?bDZrTmdhVGVLckp3VDd5VDZrMjBINitCQWt1UnJiTmJJTW1yK3VIa0ViUENv?= =?utf-8?B?cElrbXhUZk1mK3I5UXMwTVgrM2FBRDBuMVk2Rm5hTHRBa2lxaHplbDhlZE9I?= =?utf-8?B?bmg2Q3ZmMnhjbTU5a1ZTQnZSbkF4TCtsUU5wVXRUNGxuNHB3QTlTZ0VxMGdi?= =?utf-8?B?V0R4QkdKVHBUdlNoZkhJS1lNSkZBOGFkeG1PODlJR09ySGZvR0Z2aytvai9w?= =?utf-8?B?VTUrK2tvMXUyZC96bnJqeFBiVVNzN3g4N3ZQajdORkRjYzZ5RXRzUEQwMFFk?= =?utf-8?B?UVBxZWVVdEt1M3dhNWFRNWp6WEM1RTlUVFJ1QTEzZ3BDMzJ0RnNTSVZWNStV?= =?utf-8?B?YkszbjVUWUNOZjZPOXVrOXlQUXZyWW9ZWWJYQ2RwZ3p3eWpCUHBLZ2N6akw4?= =?utf-8?B?b0lhc25EelQxTjd1elFEYlMvS1F1T0ZtcUJZSEVXWUhud2dMcEVNRkkvdHFu?= =?utf-8?B?VkZOclhFQSt1Z1pwZ3gweURnSnZYeWhvZjdlOVBBM1JjSjdITGE0SkQxOURr?= =?utf-8?B?MjlYSnQ5YitYdjNhV3V5VUxYMzRyYlo0MmlGTlNFbEtVZDFXVlVDazViSFVr?= =?utf-8?B?amIzNU5VVzVObHBsanEyTUxSY3laT0dlbldSWEJkZ1AzYThER1pCOUp4TW1p?= =?utf-8?B?ai9mOEhaQlF2WmlTc0xHNnpVS0kyWVovVjZJV2Q1ay8vNEhZdWVRUVFlZWFa?= =?utf-8?B?Tjg2bXFLSmhHcUZIZkZ4Y1ZDZjUvQzE1NlVyMlUxUFU3cTk2OCtWeEI5NXVU?= =?utf-8?B?djBCalZZelBXSTlaVVZCeURiSmZGcTVPcGNzNjkwdmJQNmY2Z0FiUG91Zkda?= =?utf-8?B?OUZsK2RBQlZQTnh4dmxyV0dnTmxSV3UweElQZVkwTEw0dGI4Yk5ibzRKdkJS?= =?utf-8?B?U3VuakFTdDhNWXI3ZXI1TWl3RXlOdktZcVA4bTN0dUdiU1BTaitkQXIxamJD?= =?utf-8?B?YmQxdlQrc0pJbElFQUludTRCQjlSUFlJaHFGSUVXMXEweG56K29CSVVJbHJL?= =?utf-8?B?N0dpRHBuQTJwbERYbkt6MzJLUFQzMWdoenUzbVhLT3FBZ3lWanA3bUdRM0xV?= =?utf-8?B?R29Ea3daUTgrYStSRkl1VG5UODZIUG0yZG4vZVJTWlBJU21ZUnRGdnRqTkpT?= =?utf-8?B?TyswYzZ3VFdmTEN0c1htN1dFcnZQRGlmMkppcXhpS3ZraFYyREhJZ2xVNkFY?= =?utf-8?B?UlpCSUxVRVVZejloYnlzelFtcHE0MGxtaGJCczczTytaQklVSjdyb2tlNVpG?= =?utf-8?B?bERjOHREUmdYWi9ZdkV5ZE0xMzkxL2hKL0ZtbDNzT2xoUSttcEpBT1YreGxv?= =?utf-8?B?MExJenM1NHdXbVk3WjdwMSs3djRLeVcyR0lyWWxKbFFFL2d1OFZhRmpBN1Nu?= =?utf-8?B?NEZGZjdWajBFTDJIY01tZTh3TnRia0o5bElnQU13dit1dnVDYXpQRmZuSndi?= =?utf-8?B?RGhEN2tab1lacUlVMW9WeHFoZVZnakI0SG5xWXF2QjhMTzFDbnd0YVRBRFdK?= =?utf-8?B?dzdNUE93UnAyRElodWtyQi9icTZGSzRMNlFscE5jTk5rNUFxY3NaWXJCdmtR?= =?utf-8?B?TFhFY2kwaTBSbERWOGs4VjZ5VFNSaUsvYWhJaEJldS96QmJMWTZzNGdYZWxz?= =?utf-8?B?S0xlL1JRMGYvdEUwR3pPQzdCcGozUGFuVjUrc2VrcThLRHA1b2ZCWU0vY1Ro?= =?utf-8?B?cXlQUmxxRW1oYllXWXQzOGZhVDk2OVRHd0oydVVjV0F3eVdPbkhGWVVYazc4?= =?utf-8?B?ZW1POGRRY2dmV1hMOThBanVHZDdDZklEa3lGcU5oZkJXNjY1dUZyUXlvOFAy?= =?utf-8?B?VG5EYXVpVGVERmVIc2UyUkR0d09EemVVSEU1R0VmVWJla0FxZ3lxaWoxWTNC?= =?utf-8?B?eFZVY1BoVkZZS3VXbUVMRU90QkRMUjNtWGpMMWZQUlpkdGlXcG9UaGFwTXVr?= =?utf-8?B?Nmw1akk1WnZodG52MzRYZzUwY2dYSlVEN1lGajErNytIU0c5a0hnWWFpK0RB?= =?utf-8?B?eWNkU3Vrb20wRXJmNWRjSUp5eEx5QUFOMm5vamg2ejNwSHMwSHJQWTkyMi9Y?= =?utf-8?B?ZGhoTFJKRm1OTGdhaXBSYjdaQm1GY3M4Vm9PRzB2L3RTR2JQb05lWFp5UzE1?= =?utf-8?Q?mdhMPfomduZerGFA=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3af1c100-bf56-4434-9d6d-08df39b2644e X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2026 13:57:26.0778 (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: NAzX6g1Iwxbm6jHf/PmvC2lR+kGNDa7tTBdt7MsS6iZADlrpfqp5WxPSld5qW6t3N996LOtyJWyx5z9QTbMwYHLqqvbjFnutz/JdKoY9qzM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7423 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