From nobody Sat Sep 26 11:47:36 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010001.outbound.protection.outlook.com [52.101.193.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE983351C27; Tue, 1 Sep 2026 21:54:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299656; cv=fail; b=TZGJzMZwq7MepnxI16+EYKJnNtlYM2FFpMR3OLq2cpt6Cfaw7N5lGreLMqMEWgfhdJUZ9Yw8wFAYGyqA7fm+nMYM15E61u6i3Ket4XesiRW1+6e6WC1UJGQCc8kw3y7iL68NU4naTP3C9T25tm3U62vMaiKBhjFfHBFpGOtiv/4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299656; c=relaxed/simple; bh=Tudn/Uc3KXXyBHyneQfMJTDtfXmT2ybqIznXua3HVZ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=bNlkWrN9fqJ1rn5Tgz6xiy+rvBIBPey0aPpCUcUYx+Uk9C6ThqoLQLQ4Vn5eie8JnKm2kgFGNtBGCUiReVSO4VuNnRF6cxxN4qIu2WgdTczy/S5FKMKyGCs8wj4+ZEyayG0DDNtjzBI9VzKLIe497toWvVh0rH+l1Bbud6e0stg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=BN1n7JjW; arc=fail smtp.client-ip=52.101.193.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="BN1n7JjW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eg7WgOp5yIlmn2JN57uDVikLIqYP3kQmmpRndATEAD+Nq/09929QLMVAN+OiTnNvNNBVeck2DTbj46fG+Q3AHJpSALJu74dpKkD+Za9GI0iugabkqwKr7B2h2G1sxy2Gy8WMwzFX62gkxk+p6de+AAwwg2ryib/zOtJGN6NKCQkHj8chKe3Op6ozaNwpUj5Ssv+2DaOd0rqS7Gi8xH9s622jnuJvYGpxS7/IoPIUh6irT/5ADTJeuJ6LnMjrrt9PB3iMKq9QdomCrAdnorXf74iPaKMI1DGi/7JNuJcJWKJSch5RVU0xBjLEeDbv6/ScLEQFiwIlhpKPQ0umgyXFmw== 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=e6TX4JTTfVw2ZTfoDJ3uBaysxkPBf7L5Lmo+AkmboSQ=; b=IhIcaEPcSsSxjRmTs+JVHlSjKkxxb1gj4YW1UA2jOKksVx3WIJ1Oq9a3+RqkbXzPhPXmGlasr+TNiGDHrzn+XLfEepJLfEqYQl6o7H5+h4jR+pSKxVXgPSbbeBsR0ufGY8eOd3ZTACKoRJ8ba9slv38wm34fg5v/hc3P1BYa+rkqlkTumfd8IODsYMGwUEEnTAtRH6iiWFQx+xP7EpFuzhM59cs11seAoM982VKHcxz6Xbzg+lz8uBSXatg0Z2RnXQjBNw3Oaqx4foypHqZSxvuXAbo1gp0w2qV5nq7mAaEHHShDqiicrLxAZ3UZ0xRCtxlAkr/gEyLE+rx4FRslyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e6TX4JTTfVw2ZTfoDJ3uBaysxkPBf7L5Lmo+AkmboSQ=; b=BN1n7JjWFh/DjpY8hf2TxowvTGzg/T56ggwxsnAWzKPV64w79LOF53zbdfdyovpzgywU2jxa7wd0GTqL/2FROz6RNJPJLVCTlA+0uMpvZMJtYYDGxqDg7ZxpRHui1ZXAt4sNnA+1REEcGS992IvePXxyX2QtEdWbG4mTPTc/cypGaecZFZv4gBiBc+gnuuaeZ3sspMj/raFOP8U7Y9de5WEQIpgcdDvFCSJsfv+5j8R255/alV102nd0H4LP5sPEJo2Glm4AHlGhrMQIXtNY5NNgWuOsbRY4G9bTxLTLUKdTWRUs7avxAa3b5FmwzWDp5OVG9D7tglTxAZALZOYjBQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) by MN2PR12MB4302.namprd12.prod.outlook.com (2603:10b6:208:1de::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Tue, 1 Sep 2026 21:54:10 +0000 Received: from LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15]) by LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15%6]) with mapi id 15.21.0360.008; Tue, 1 Sep 2026 21:54:10 +0000 From: Alex Williamson To: Alex Williamson , kvm Cc: Alex Williamson , linux-kernel , Jason Gunthorpe , Kevin Tian , Yi Liu , David Matlack Subject: [PATCH 1/4] vfio: Reject a second cdev open before mutating shared device state Date: Tue, 1 Sep 2026 15:53:54 -0600 Message-ID: <20260901215358.2421359-2-alex.williamson@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260901215358.2421359-1-alex.williamson@nvidia.com> References: <20260901215358.2421359-1-alex.williamson@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0112.namprd03.prod.outlook.com (2603:10b6:5:3b7::27) To LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV3PR12MB9411:EE_|MN2PR12MB4302:EE_ X-MS-Office365-Filtering-Correlation-Id: d70cbf66-321d-4f94-33f4-08df08738ddc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|18002099003|22082099003|56012099006|10067099003|11063799006; X-Microsoft-Antispam-Message-Info: qmEOpaPPFjxxZaa1Zw4SlT8m/QmA83zDYDNdk93shxcEsA4e5YgZT0XgHTuy84kQ/Vm8sXjwOxDSqPqWvGUUnmD3EgKvtXbUbqUQNeLgFuSG7Y/rreUzmzgfVAtRTrMAVGl62nLWJLGL1Dj0H4tOmlMeug9omIoYkk8VeC2BfG38yiidNAfIsy+dYR0GpCqFP7gpO3fZhY1evZcpMfIXQu8XJSvo5M8f5qula8mfL5a1gz65/MeSPAvgUsALu8qYwuvMkxYR5SMQFFpkE6LcSga8vIwQ2UrV+wXl/UkoSREXSjEaW7VLtGbUKjN/UqGZMKmDc6GKPbA3tNi4JrqL9MyqjNKZCxAlR6ZvMhNUg4o8pgm8/tt/HdOtq2HPwf23k5BdU4iee5wQ4z+Uvf53inAdEmRiQ+aBBhOcXKbAprxzUpFtKPQXHu3LTn6BuvBZ0y8DDpOcpsc7okigr7DkNN1BvxP3Lmtk+0TS3oJfHodWfIp5Q7seMclloSLoP21EbKHYfu2wd7x4RPBz2Mlme7+7gv3ZQqjOf2XsBm+gtReZ0zMSxWL7OCNJrK7wHTNBXdgJQizcacJSwsRV5zFo5DLRFjVDK+gIw5+RzBWjkjyo99XP+VyTduzzhZPaMjvY3yQrrEBuZwd3DKQr04k4Ye3d5QF/tuA6E+ZOfRf8ht8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9411.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(10067099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4JAwxp86rjP2ts4cDTjOWtEtHtSCdSm5GKpKXpJ5yjhBYvkeBiCLMyaF7/nA?= =?us-ascii?Q?2EDL55OzbxgDZ1vCZnP3fKEc4luyVGq19kRjHr+6bQgN1zmYXYjuaMT7XGha?= =?us-ascii?Q?UwNcYKa9GkwrJ+A7EEuWCWWFZdY//ckeChgssYYkW20z87OnDeT1P3bhH1Pt?= =?us-ascii?Q?C5lxldFqGjAOV3ssjgDILs/87/obkPqGtfMYeiMV5WG5ZD1oY4TZj68O3j4P?= =?us-ascii?Q?QY79dq0Lqdh0WIH3CFV00R/cxF9enpjyqxPpYjnmuno0rp7/wtBwd/YKDWUn?= =?us-ascii?Q?b2jQbvOYZRF4LuLJ7VMvGVdd4ZiMhzCP3jtHLLLNkkzqdbJFWXQLPJ8uycP8?= =?us-ascii?Q?R59Rmfq4iIHTIrfAXAg4ed1GV1GQPgJcasJmdVXAwXZ6+XrGwCWya6xmRXGV?= =?us-ascii?Q?9RjlkVjZM6hoLpu0G87FR8ZHlra7zmbDN+614feVRwH0TXcrHs/oxRDL+uWC?= =?us-ascii?Q?k3wYhaN5U2nhxgp0y3OL9BQf6TQaIYVEL4tOzXxrGMlYc60nCS3AeBQqXclU?= =?us-ascii?Q?FEuV0l+Vm9g8xGw/WLIB9Tw1LYhQp4cxsT9dNP5UD9SH3ktPTtiatb7bqzPQ?= =?us-ascii?Q?uNtLQlASZCyHOqanFl4Fzd1gK8iosUtaydU31mVypEstJit/CiWrO3Coew2m?= =?us-ascii?Q?8jnIfFsZm0BozkqrVEXicLgasc5JvkeHM941lZ2LvfVXunFaX7WJj6g5MrPn?= =?us-ascii?Q?nK/R1vYfWpWhOpdq/CIr/VT8trkiCQxDmdjfjBXGkWPXwo2nW0/wOH2EqZt6?= =?us-ascii?Q?Nky6TJvJ7+eVVRtvc4Aw7c35u7tBXHiHK8WfkvQkFFSM5slxDwHDAi2ba9+X?= =?us-ascii?Q?rAJgC11GCpb4smrIo+j3uvm/xe1BktRDst4D1QyWV9oUbrzUhQb6erPN1n9f?= =?us-ascii?Q?7ivd5wx2Bc/cAuEv6PHvz88i8AozUuY9IJ67p9ytXFrH3S6w0IAwUPLeKr8o?= =?us-ascii?Q?VWynL6MU+hp7BeSBFQbHbti2sqcOIT4SRw6UFs7olP7QYM41wSibA3qMWxHS?= =?us-ascii?Q?yMet8eO2u1qvo6Nue6fLFlrF1g1O9OwEJ/LNlqNM7jdl2ZVnUoj1gc6gyE/v?= =?us-ascii?Q?iFvnMbrKV5kO6EscztS17aGpSATfPJvUcBRMKb6xGzCWsf3cxJUNic4ej0tG?= =?us-ascii?Q?QGX2R6dbBHPPwuPJ1UcOUJkCEIpiy112PpHaxpwkHfbkgADQg0+IL1v16kLh?= =?us-ascii?Q?RyJPWArd5X2oJt0f2fdf+6IP4ynDd/gNoWZN7R8qs3UCjoOUkVNW0b0B7xdr?= =?us-ascii?Q?kcXSZBANBOvXpkgNKbskPd4xjpqpsk1oM7ijQOCmu8nnpEHabqHEInecMoxF?= =?us-ascii?Q?eNRBdhoCP/vk4dJCFSsc0/qSHqXy/RoixuG4IkM37rDNPR20VackNZQ5SgdR?= =?us-ascii?Q?VRZkTzLteoUnYqztQoitPGTAWmce/ixBg9ia5EE8bm9E0yvhoYjb1lbWKHsM?= =?us-ascii?Q?waWrQS3MD8LiGkQzzvPpuuc6CyXl5+SJYNrrCnAxI9IHqO0bWVKVMy+I54bX?= =?us-ascii?Q?wr/2bL6t7km/qxYDesC7//elS1zWLVgAiEIZxWsH6fS5LM4iwQDc96sIWeVk?= =?us-ascii?Q?eyXBC/SEDSARb9KGapPL/DKI/nNMoFKLGvdErmxr8nFO5lgbW8Wd6RBmV/+P?= =?us-ascii?Q?meQz5SJgkYqQ+Ss5t9VynvI6BTOhnzVS5LpiSSoP+zQwkJUMKCS1nfX8hLHm?= =?us-ascii?Q?cI8RreeBA1qkJSnhrFT1CV8BMvM9fazzgSyng2pROiBwI1ImYC5uvfw7kR7w?= =?us-ascii?Q?GQ4yZVWJtA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d70cbf66-321d-4f94-33f4-08df08738ddc X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9411.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2026 21:54:10.5638 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9TDz8p4WiKdfrcFap6RVbpJPk/LDWNgLji9DtTamYj0piFEmL0r0zT8Akmn5XyzcmTYapAM9PKvqmlyw3tYHlQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4302 Content-Type: text/plain; charset="utf-8" The cdev single-open check lives in vfio_df_open(), which runs at the end of the bind ioctl, after vfio_df_ioctl_bind_iommufd() has already updated state shared across all opens: vfio_df_check_token() can set the PF vf_token and vfio_df_get_kvm_safe() records the caller's KVM pointer in device->kvm and takes a reference. A second cdev bind of an already-open device runs both, only to be rejected in vfio_df_open(). The error path clears device->kvm and drops the reference, tearing down the current opener's KVM association and potentially resulting in an unbalanced reference on close or premature release, while the vf_token remains clobbered. Move the single-open check into vfio_df_ioctl_bind_iommufd() ahead of both mutations, so a bind that cannot complete leaves the current opener's state untouched. df->group is NULL on this path, so a non-zero open_count is exactly what vfio_df_open() rejected. The test in vfio_df_open() becomes redundant and is removed. Return -EBUSY rather than -EINVAL here. The arguments are not invalid, the device is in use, which could be a transient condition due to a delayed fput if the prior user is terminated. This provides compatibility with the group path, where a group open returns -EBUSY, and users may choose bounded polling to detect such a transient condition. Fixes: 839e692fa4eb ("vfio: Make vfio_df_open() single open for device cdev= path") Fixes: 5fcc26969a16 ("vfio: Add VFIO_DEVICE_BIND_IOMMUFD") Fixes: 86624ba3b522 ("vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOM= MUFD") Assisted-by: claude-opus-4-8 Signed-off-by: Alex Williamson Reviewed-by: Jason Gunthorpe --- drivers/vfio/device_cdev.c | 12 ++++++++++++ drivers/vfio/vfio_main.c | 7 ------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/vfio/device_cdev.c b/drivers/vfio/device_cdev.c index 1d9515c967b0..30362936c7b5 100644 --- a/drivers/vfio/device_cdev.c +++ b/drivers/vfio/device_cdev.c @@ -130,6 +130,18 @@ long vfio_df_ioctl_bind_iommufd(struct vfio_device_fil= e *df, goto out_unlock; } =20 + /* + * The cdev path allows only a single open. Reject a second open here, + * before the VF token and device->kvm updates below would clobber the + * current opener's state on a bind that cannot complete. Return -EBUSY + * rather than -EINVAL since a delayed release of the prior opener can + * make this transient. + */ + if (device->open_count) { + ret =3D -EBUSY; + goto out_unlock; + } + ret =3D vfio_df_check_token(device, &bind); if (ret) goto out_unlock; diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c index 423ead48aafe..cb3deb5a4857 100644 --- a/drivers/vfio/vfio_main.c +++ b/drivers/vfio/vfio_main.c @@ -603,13 +603,6 @@ int vfio_df_open(struct vfio_device_file *df) =20 lockdep_assert_held(&device->dev_set->lock); =20 - /* - * Only the group path allows the device to be opened multiple - * times. The device cdev path doesn't have a secure way for it. - */ - if (device->open_count !=3D 0 && !df->group) - return -EINVAL; - device->open_count++; if (device->open_count =3D=3D 1) { ret =3D vfio_df_device_first_open(df); --=20 2.53.0 From nobody Sat Sep 26 11:47:36 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010001.outbound.protection.outlook.com [52.101.193.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83E8B367B84; Tue, 1 Sep 2026 21:54:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299658; cv=fail; b=G2kcyOzy8QC5cltA00WuuGdJ1K/BgFlRxDAW1mtIuMK1QoN/0w0QtdL3yOKBDntTDYjoKGHbc4bUH93JraZRD/UMa6Hd5g3TY8xiZikmaB9pn3J/jl1RXtvBgUe9gYDBRcARCJfdcpRpyd+OHVyFzG6BiMA5KkPLPxVsy/KxSGM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299658; c=relaxed/simple; bh=Yd+rX46QtCerjGv/GcM+u7sYam400r7YyzOCBaZfte4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=NhhpbwAPoL0w2IN4AC4axkHtt9hLuzS2ks2oeqdtrs8M4qYO+KQDk2dNzaElK2qFLvNebaY5mYO+RZtoi/3QGHIds4FUM1oV+OK90dr9UVAVRvGMxGfQuBxgxTamx6XN3KWCt6cjBDmkv4tC/tcTbNDXXTQ1Mht0+OfCDXnJAJ4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=NxT0BfXT; arc=fail smtp.client-ip=52.101.193.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="NxT0BfXT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uS/rQfDAKeEYiSXRSIIVbvgax253YlK6PLYvAKW0UtxSmP2LaA2WJU0bHlLvWxO1AiNbuzJa/9Bv3VO/9Yv6hVWKHqeph5iRWPN5gftQMZHQSn8auG4ZSdyujHq0eoieW6nIa9pHKutM39num2bLjSdr6gYD+QO+WpzQR34Vr31hY1PNTc1vAx8oGjMTzDlmgnSEagJ0twetoNq7aUVE8X/OAdUWJxkRX2PwC8S7opopJUuNDFlaj8bK/FhW3iW/XVmWJoOyJiMzo1shCwhEikXtZ1EIg9ie/QTyj1CWOJ4cNWDnbGs+bDOxXbR7skjzoZd6mjQbxNtXLkxutvxixA== 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=tV1RkeMLfPSfwXRzumQFaSPbnAcOGHkoQink6YTvzfs=; b=DMJ9dCVZ/A8mNo9koy8p7iUdi5Qf8p42Fo/lQ8KDTerBonx5r8d3TcoEKmxHR73RxbdE3xmbV1n+dy3yMhsw/LgkXbAkpCU+74M89INcWB9QOi3HpzjpWTYPkYMO28Gbfa/KdvPYTL0l8XrkGsozfgq435JjgqcfFzA4tHwBFmNDHjGbxRcodwNwfBHZO49QBWYPOHQrkg2CZEmX04JYW7Jmc3TQjz1gG7sWumsHO2l4Y/8YWp5pzYabb0Wq4z/JXwR8HiB+SR9QdSvJsW1XwUPATSsydnEzFWDryAQgjqTwg3be1v8zlsvs7LcXkntkRoUViVhUvk6CAExmQQu35w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tV1RkeMLfPSfwXRzumQFaSPbnAcOGHkoQink6YTvzfs=; b=NxT0BfXT7eeZnsJN9GxlzACv4afbDd5uyiTZEfsaeZ+6qy1iV7NtToivH6VmQ4GlGchB6NZPvnaMa6Q72IHn3JKeyshubK0gPQQNDfw8rInT5Qcv0Armj4dzkV9IwJT1CVAM28NcJ3VwEjklwJ9KKTzPraZESNSeiW8yq/TPKiowNtqRDHtJ7SbLwe0AG8cWgJMJbsUOCqvHNABJEoboePk40tsPxKOLPDxj8Pf7hJGYbctqXCUDqJf3y52fKmzK8vgsJu0xf3izh6HtxJhp+t3wtthkTHV/yoTCyZ0ExMymi2gpsCx9jCtl4RoMCegjzEMIfUV6p0BRBHbDm+PqKA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) by MN2PR12MB4302.namprd12.prod.outlook.com (2603:10b6:208:1de::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Tue, 1 Sep 2026 21:54:12 +0000 Received: from LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15]) by LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15%6]) with mapi id 15.21.0360.008; Tue, 1 Sep 2026 21:54:11 +0000 From: Alex Williamson To: Alex Williamson , kvm Cc: Alex Williamson , linux-kernel , Jason Gunthorpe , Kevin Tian , Yi Liu , David Matlack Subject: [PATCH 2/4] selftests/vfio: Wait out transient -EBUSY on open/bind Date: Tue, 1 Sep 2026 15:53:55 -0600 Message-ID: <20260901215358.2421359-3-alex.williamson@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260901215358.2421359-1-alex.williamson@nvidia.com> References: <20260901215358.2421359-1-alex.williamson@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0112.namprd03.prod.outlook.com (2603:10b6:5:3b7::27) To LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV3PR12MB9411:EE_|MN2PR12MB4302:EE_ X-MS-Office365-Filtering-Correlation-Id: 7960e2ca-e5a1-412f-72dd-08df08738e79 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|18002099003|22082099003|56012099006|6133799003|10067099003|11063799006; X-Microsoft-Antispam-Message-Info: 4RyVBOiYjfrJQ+juXoUeJGKsfZXa+IFkcQKK7UcFTwTNSqvw0BqdzXMCIx58OGDreWwPlZdlmOcOlR7YHweBqNwf6QFN7H6oMheETr6EsNmGo8aG6WTx/Oiz7qyM4gJnV9DoC1PHtyuius9EnBA02U4W4p2wq3ccak8JVdiUQXSNacR52KUIQpl4o8eX7jpSk6jXJTcgQgBxxNLfMfEGrMABuYqGndbWdTs51PrSyCu7+RuqNSRtyDHA6dxM820KgoxxB+00d8uqwNq/jR2c0rK8pAtVIL2rc65l0jH85BCKS+kM2xpoAAGwppcP/J3L0aZWUbMwocpaWsfbi7RHV8lhk/yMQGoEYkU8decT2IiAxJzoK5Sjv6/x/2aUObzxG0ofOJIDmgVkX2B0IvCXSRbdPeEhGrO3VMSv0uDZLuuy+bCVHOwXCILsHYfsPpdjIWA3utJNJcxmnhAJNs+x49wQMaX/fdup2panYLP9bbSAq536Hbun7Gq5/abAEdKYmdB7TFO7t1ObaQCG4YvbGrIMhXLqhu0Zr/Pqk8mpbv5wiFFc9Up+ka6qJW2gKVcIQ6DglFePhM5tbiXQMUL7NIZCgq0MGH90XJaRyRtz4xAYw0HTNZvHY8WhssNW/7yiCT8vzJsXzukfzaz5vB1Al9ti/J5BteG1bBeEw5k9ZPs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9411.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(6133799003)(10067099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kDRVXC4t6VnValr9P6kiaNPKSML5RwCZUkIgHCnfOXldJmyph33UVJIvlSNf?= =?us-ascii?Q?e6Mav5ydI+wZOpLWnbo5zgbeLemEQ3KnE/GrlTMDxbXHdOzp4u6RD1Ae9BbL?= =?us-ascii?Q?/sVKAJSVoepq2Q0LLGJiQZip6gW8UoZyc/E/e7S3a6waqpJuV8ccrUAGNx5r?= =?us-ascii?Q?OibBUrukedOzviFmwqAUiybVlJpJg0Xi23QblxSZ+UpWRhb8CPA1Y1Opde8Z?= =?us-ascii?Q?waCQgZ9J6VEeiWo0u8z4KQcKPTA/k7XGhruyTO4DsgJTJmJd6R+RBORBSkLc?= =?us-ascii?Q?yIFnuQ9en4PdgTbLY2/8ox+9+1UCDHIbnz9MisJzsofTRBEDGd/65MJw6ujX?= =?us-ascii?Q?74WCGYlJvCTyzgPcZGBEXSlPE0T/0AK/6kGw94ES7X6lHD6lmoABy8OOPo/7?= =?us-ascii?Q?St9z/CQ0jxW0MsWli0D70J+9vE422m9aLyul2gsAWMZfKB7fav4nOi7+kU5z?= =?us-ascii?Q?HCnWCFIPBlDK5pMLaIMTFI99FLOokWTRZfLHhrjPe8ojpaSBEWcrDb5A+afC?= =?us-ascii?Q?wmc0llXi0sqz3v0Hz3PWsy0k5+CAakWk963BHM6PGvhFlhQNuDplLBVMBaR6?= =?us-ascii?Q?PGfV6sjv3XyNfCjQhz32smcHUO1qntC95ewvQ9xNJz091WBospRNa5dQ0qom?= =?us-ascii?Q?qj3nm9S5gNmu3ePRPU5/yddL5h+32Ldb8OtIuM/1OR+B8V+NQDP11sccxgxN?= =?us-ascii?Q?7pZh0agwjiqecHYKcGffAmyO6t0dCvUyqKCcDxuY/Xh9BL1nPMLhwwfCTH7Z?= =?us-ascii?Q?/nAAaf4xWtUA/T356tDEsWVcdsm/rZBZ9IQ7iTkfd+U3NtLVvPewQuDJhJkZ?= =?us-ascii?Q?3ILdxviXnyLiwXtKAp3mW8iU7PLzHx7cEv/VPA9DHRxlzyxj/uTbuxYoS8OK?= =?us-ascii?Q?qsuUG7juocXYJ2ilZMTfVIKt4q3DoN646FLk/lbdhFcAZNCM+Nk5pyHltWIj?= =?us-ascii?Q?JkhJbfP0j7H2l9Ehrqe/7LMvyy1oHt+BZ+CRdLDZZFBZXpWsQ32BysbaWMYq?= =?us-ascii?Q?7pqeCSYbVWC62n/aPiFx+xfYnQDTQeRGoGx2qfMdvLOvwbGRH5EruuWKY2MT?= =?us-ascii?Q?auDNnIAPajKEAZcd95XrJTaLjvlH9A7b+bgfEwvLmJB1t0C++xEWouuZob6M?= =?us-ascii?Q?zS5h7v7Ar5IttaMli8G5XaCc9H87YARgkwhY/hgzsn3QmWY5lLt15KC/Horo?= =?us-ascii?Q?mjnVvEOX6aXXZdu1tjWrkSqU/aE3kAJssyXSAPapC22uggNjNqRMEs3NnZwJ?= =?us-ascii?Q?qR+FDTJjJGRoAKH1tEif+qOwpeWv6A1JhLeNjVi/AhpUjg/SxyIvkUi5PRQz?= =?us-ascii?Q?VeOSLUySrmXu9NWPm2RRg7alVHKlNw8+yprIZkrGDQoycSX504SZYbJVP5eq?= =?us-ascii?Q?Ba7FNAtKuScuiXBbHYu2jCCAfg6H8wAWaDFG4DAlawRCmZp1E3Lqygc2Nxpi?= =?us-ascii?Q?BfRGYD3wRfBomc+td/A3ufiYdEOf2GG5eaScTWA/dKrOe79LjMlyDkWCf05D?= =?us-ascii?Q?Izlve2uR3MV4wL7a7vxDYoIz5xMOFA4AVk0QetIsEYqU41H0GdM7EpK2LiVx?= =?us-ascii?Q?oA/p62oXcgOaE7P1qbxUcETZY5TdiiX3Sl2/D1B9u9D7gYRw9+yJKjVfD4X+?= =?us-ascii?Q?wA0o4Iiw8QHfvbIejpMmkHDFczS5CdkHX/h0pSn6RrET+2wBi2WfqKb45N1F?= =?us-ascii?Q?DOJi6gdkI4LzAhG6S2+WIrosD8QeUrrTnENb8Ge46jeFtLjgHOhCLXvYSCLS?= =?us-ascii?Q?4ILektuAsw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7960e2ca-e5a1-412f-72dd-08df08738e79 X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9411.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2026 21:54:11.6148 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: evjxZlzw7f1vddkHeDDcwF1g3qiIpuyqcZ10l4lJTpPmjCcM09QvdPim4XdMWRNqeeRVWaetio+c7mtxgW37SQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4302 Content-Type: text/plain; charset="utf-8" If a test is killed, for example due to timeout, fput can be delayed, allowing the subsequent test to be started while the failing test still holds the device open count elevated. This results in a cascade of failures as each subsequent test fails on open, blocked by the single user requirement at the group or device cdev file. We can make the test framework more robust, and allow better identification of specific failing scenarios, by waiting-out transient -EBUSY failures on group open and cdev bind. The 20s retry window is heuristically determined in testing on a system where scheduling can be significantly delayed due to SMI handling of platform errors generated from the mix-and-match test. The SR-IOV uAPI and IOMMUFD setup tests retain their non-retry bind paths as these are not expected to encounter process kills due to underlying platform error handling variability. Assisted-by: Qwen3.8-27B Signed-off-by: Alex Williamson --- .../selftests/vfio/lib/vfio_pci_device.c | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/vfio/lib/vfio_pci_device.c b/tools/tes= ting/selftests/vfio/lib/vfio_pci_device.c index 4063a0e2b3df..8a3139b7c6dd 100644 --- a/tools/testing/selftests/vfio/lib/vfio_pci_device.c +++ b/tools/testing/selftests/vfio/lib/vfio_pci_device.c @@ -282,18 +282,34 @@ void vfio_pci_device_reset(struct vfio_pci_device *de= vice) VFIO_ASSERT_EQ(r, 0, "ioctl(device->fd, VFIO_DEVICE_RESET) failed\n"); } =20 +/* + * A prior test's delayed fput can briefly leave the open count elevated, = so + * group open and cdev bind can see a transient -EBUSY. Retry to wait out= the + * fput scheduling latency. + */ +#define VFIO_DEVICE_BUSY_RETRIES 200 +#define VFIO_DEVICE_BUSY_INTERVAL_US 100000 + void vfio_pci_group_setup(struct vfio_pci_device *device, const char *bdf) { struct vfio_group_status group_status =3D { .argsz =3D sizeof(group_status), }; char group_path[32]; + int retries =3D VFIO_DEVICE_BUSY_RETRIES; int group; =20 group =3D sysfs_iommu_group_get(bdf); snprintf_assert(group_path, sizeof(group_path), "/dev/vfio/%d", group); =20 - device->group_fd =3D open(group_path, O_RDWR); + for (;;) { + device->group_fd =3D open(group_path, O_RDWR); + if (device->group_fd >=3D 0 || errno !=3D EBUSY || retries-- <=3D 0) + break; + + usleep(VFIO_DEVICE_BUSY_INTERVAL_US); + } + VFIO_ASSERT_GE(device->group_fd, 0, "open(%s) failed\n", group_path); =20 ioctl_assert(device->group_fd, VFIO_GROUP_GET_STATUS, &group_status); @@ -432,7 +448,16 @@ int __vfio_device_bind_iommufd(int device_fd, int iomm= ufd, const char *vf_token) static void vfio_device_bind_iommufd(int device_fd, int iommufd, const char *vf_token) { - int ret =3D __vfio_device_bind_iommufd(device_fd, iommufd, vf_token); + int retries =3D VFIO_DEVICE_BUSY_RETRIES; + int ret; + + for (;;) { + ret =3D __vfio_device_bind_iommufd(device_fd, iommufd, vf_token); + if (ret !=3D -EBUSY || retries-- <=3D 0) + break; + + usleep(VFIO_DEVICE_BUSY_INTERVAL_US); + } =20 VFIO_ASSERT_EQ(ret, 0, "Failed VFIO_DEVICE_BIND_IOMMUFD ioctl\n"); } --=20 2.53.0 From nobody Sat Sep 26 11:47:36 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010001.outbound.protection.outlook.com [52.101.193.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33DE2459AC4; Tue, 1 Sep 2026 21:54:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299659; cv=fail; b=koj2EwC2SinzvfT3KIxQOsKkZq7LLFRgmqVTQ34J2XFNgnDHu2OZ0HkvpoaLjTi5fdPsWFGKv8sei8+b3QWF3ghCQWIC+zGQnyCl98fyMnjP02Lku0n+NySHLSElsCcRBKejTJL2m+eqXZhl1AAYlnfoSJqnQtkPz7mSEW+mIdk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299659; c=relaxed/simple; bh=nDU5m11U9MY+YtPYaUtHUMY+hUv3m3eo1+/yRhpVnW0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=V+mc7PBBWxmEAIX4z493J3uekqx63LusjiH1kICy+E8QsEn8SWF3FTnCquicM9U6sG4LuaY0trfhrUhISaAIwH9TE1ywGyi2LDg//Rg2nXhU9II/k6EcdfphUTNFVtmT8Covv1N1r9VEwAeCA2zHvGs4Rut5cxCNelbhqYjtJbA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=cRmP2x2t; arc=fail smtp.client-ip=52.101.193.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="cRmP2x2t" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h6mJ5Mebg8p4R+F4MHzpL5eKcb1sNAGDsvCnS1fB7N82Jr6XZt5f2Kdhy0FGhZYLHTEehsVHMjfgV5qlB0XtSw4ayApnaqG7IDNxwtykLIccZH6Somph2lp6/fyWWYmMex4uES3HgWx5YezEoPzwNwRpc3aF+W09nBbYPd3qu/nRg8oNOPVqPTaIGWMXqnCPAhlQ5kaDqnXo3BQMSNgfad+FiAoKeXuknrmgdS5arkKEMhLsQbjZAtmX262biPUUBatD3rRAKtfOpn9YzHsa/0OlIsjYx3iy9tAZr+QtQQJKVGp8+BG9AES1//xR5dYn+Ir1P22wOlhV/TTbhKuDkA== 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=nh8u9irCk1u6+2+R3B1u0LVttMASxrmt+E1esw/bdAY=; b=x8Q1499sCRPCskgJXv7vfuABEtfthGJQDsE6ymWkv0aTHDhaqPhZ9jFJ4emlNcNrTaNwq4ykRcFlNSaKss3DN86wXQ9TLcosXmDWodYmL06UANWEAy82C5/RaXl5PKAyYEdQICQAh8zS4w892Zh1I8GdSd5tuiUSilnedyh3JHXWSpSuwhjrYUobA9LIkF3EyMXnZM64SUegxudwfMIkLIEI1FN/kAotN6opH7HEN+tkca1p9UlrIDvb6lFrvGvfnplvkrFoMCtede/n+UzwVq4GbpDzLgfcI07Wob/pNeaMwbpA5lBNmDSmjiPrY05w4BUD2wywEcEurGn7OeSHQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nh8u9irCk1u6+2+R3B1u0LVttMASxrmt+E1esw/bdAY=; b=cRmP2x2tPTx5t57MlcBpjMR5a4+CwqIWEmDiV/4wFTs02u/A8GbstIZH4tc/kMO4LBOYQEyLS//IwKH7CYk19wAmdBjuTG0BZkEmnopvJcdplb7VGt/DbRhUq07BXhXIWtSlJSrQ63xyYzjsC6rUC81hGsu0myt7mzGsuSPPAR+mL1umsFUcnsjW85/fcanf5t0B7dxyjGfJ1uuZnL9x7Y3trOsDbnneFD+0INpXJrhIAtZBxsspu/2WtYc2h81+AXWwQ78M1/kUTAyF1d9tok7EcogmuMUjwgwpSc0YMk1LjqBmrsP/l6TCmtse5a1eNJ+KbEruF6PDCxYLrLQZIg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) by MN2PR12MB4302.namprd12.prod.outlook.com (2603:10b6:208:1de::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Tue, 1 Sep 2026 21:54:12 +0000 Received: from LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15]) by LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15%6]) with mapi id 15.21.0360.008; Tue, 1 Sep 2026 21:54:12 +0000 From: Alex Williamson To: Alex Williamson , kvm Cc: Alex Williamson , linux-kernel , Jason Gunthorpe , Kevin Tian , Yi Liu , David Matlack Subject: [PATCH 3/4] selftests/vfio: Extend mix_and_match timeout to 90s Date: Tue, 1 Sep 2026 15:53:56 -0600 Message-ID: <20260901215358.2421359-4-alex.williamson@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260901215358.2421359-1-alex.williamson@nvidia.com> References: <20260901215358.2421359-1-alex.williamson@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0112.namprd03.prod.outlook.com (2603:10b6:5:3b7::27) To LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV3PR12MB9411:EE_|MN2PR12MB4302:EE_ X-MS-Office365-Filtering-Correlation-Id: a6e28cdc-b93a-4781-ec33-08df08738f0b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|18002099003|22082099003|56012099006|6133799003|10067099003|11063799006; X-Microsoft-Antispam-Message-Info: lXpGXSFYQxiy3ySdK0cT/n7DM4Ty2W5AVMVAbp1wJq7RyX+63IBg+YaJniB3y9uRM3vXt/fZjZgFPHkJNSiSf29fVLPnRg1zQmNrdNkRC68ceLrztFWPKvxaxyW5MzmTxqNMfd9j4K9m5o5n6+8xq2wSlb+r8F6FYH+XZeU8XoDlje2w1JyOTxsyvvhSMkck24ZsF8Et28NGfywTQRjmStEnFIWzr50RICKZBrmj2jRe1y8I2Qcm7D9koqDaLsmEQulbTZW3O2pVycrLc/4gKXw+fCghMniuQq2MZKqhUkfHhIvBwy9w+Twz1rjnZE6wC9rTN/nAbnN0crSgWdwLktMu7VM4lESdixTSL88inTfZ4togEjAGDXWTGKYQH7yg5zv3bsXWSUSGeM1HEfuFqfCnxD7LzSOBgLqNGka9m2VAJYcE9rkGrLCpYbmlWK9I7ckujoWVi4dNp6kGnSjIXdAuUCGPBrv3OWm+kCbPdzbi/a1NdHfNGqVX0wRGrLbXNF3XXzc9RZ3WVJ0xt/422BnBlurltuisiXWB+p4DhIFZvlJ4nHA6qWdIGKuZm248Q25wk2hlF9Bz9Aevizjgq2C9UQpmq6YpuX/snpcKMKL7H2EsBVlYr/XOAnvBWZMlJZqAh48N/aOqi7EIEUkQzlcL5ti96hDWGDZZqm8CQFc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9411.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(6133799003)(10067099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?OtGoOxAleU+uG602yFycnbt/vi5DhR4wtDb8IZd0ZdTL2B9lR/e/9LRn0lbd?= =?us-ascii?Q?PgE9PSv7G3zh4aoD5c2VsmPangBtBhhtBHldZ8W3KAovrIpl2FEgZdFg5SZD?= =?us-ascii?Q?kMuq2TvG+GIlXNHBF5SIdSuxplBQmtZ1LHZ9bJHLExt+rPeT4lPQzy3X++HU?= =?us-ascii?Q?79UkKY14GBSxIGEsp7jmaXPA8ERAMhJjzeYihRpOE1N315fNMsdsm5vG3Duf?= =?us-ascii?Q?vmLQbjpGqRmbuoQNA71ZiVUbL2vsCqasC8Wd60WFK3LDEz/XCouHG+Hf8gKy?= =?us-ascii?Q?W7HepnZ3TEkBViXVec4JuLRa/9mobJsB/mCGmlWhQxtt4IGcyKSfRO1Wtj2r?= =?us-ascii?Q?Sf6kDqCPoYsStLKGGK4x/Hz2bzbUslDk03ZNhXzSBfKOnBC2FougA6DiS0z3?= =?us-ascii?Q?vIKJ/S5xXGfEbxQqz69MtCWK/P01/rmU8ery/wMW8KdVDIvfAQjD2Jv9WSVl?= =?us-ascii?Q?wqx73EIcdto68m6+ZJbpP6aiVVuyL5VaDBdP+JeJ9mwRR6A82qbAG/BXyppr?= =?us-ascii?Q?16v4h9oR6rJJDsMbUnG2bYDK1d3HGATxYvjnxhV942D+fY159ZMeE/uEl2yv?= =?us-ascii?Q?OL4Fd+6yGxnqLjwcugm5tR3GeEn7AwJmuPhCGOnH8o4IzhKtOU2NeqjRaubm?= =?us-ascii?Q?IOJ/EaAohNRPerTYiBSppyFWbNG+gk1ni3FLJLOlzCsWBnkbKlJUOpU7mYu7?= =?us-ascii?Q?aKg07XvOzdHGTETtDg1AxwztE96oBMJSukal1FjZQ0ERKzdim2neVl/+VIaN?= =?us-ascii?Q?3iVveLe4PDCttsn1R3CohosQtIyVyuvzeI6CNLdNMd8X2yzZu6trIhtlAVby?= =?us-ascii?Q?2Dn1ei4a5P5CO7nYfMJZnwvULHwXUOKFWuQHz1/9K2+crer6WQGvZ9PGh+H0?= =?us-ascii?Q?Aah1pYFrjQgug7e96VM3YlOXHmOuixs26K4qFyoi5ba62zTASH3gR42QF1s2?= =?us-ascii?Q?Fu4fZbPlu9dZDRoPIo1UJbn+YDmi0YL+HGlD/WKdMzG4P9qu+5rsqy9Fx89J?= =?us-ascii?Q?+sNLpmy2Ybn4egXkezijpDpWcUl1tV9fnPDritqS/3vb7TwCcXBZBHuZN3Bw?= =?us-ascii?Q?nucUP4gf02CKHPnxmpOiSuNOVvaXbE+CfDCouoVJZsi+HPsfTL9QDV8AyLWM?= =?us-ascii?Q?d4y+xw7PlCUGw8FxNfDBfo0mMxzL/jrkt8lCKScY8WeoxPVGarr+6g//3QCd?= =?us-ascii?Q?wml+5UPV79cmpsmRdokQJQ5nLpuH0L+UFGBwlMXBrQIMaA8Vc9ZD03i3z/fK?= =?us-ascii?Q?ahsPSujS2xe1O3Ke9zYBZPr5uJzAC7dvXFAMZJnsmJXWNV99N+anOgh+1qN5?= =?us-ascii?Q?eFtNkoeRx329Ky/ZRyrYIoFQIppitpBLNuwTIvq1w3kTb6zMpn4Lxz8/SYnc?= =?us-ascii?Q?/++LHupTHa6iDYwmm+O7Q22nxtiAv2WvO75PPvX3CRys72Vxcv5js+nNbjH4?= =?us-ascii?Q?Gskt4+rpCD8dZZuLKV6nW5jTWGcOGbqG84JRhxzcUhP2T9FWNEUwuIJj14VX?= =?us-ascii?Q?DskD6KfZB8MOrC2z+xz9tGZgAV8683/N7B0fyLJrxCE0jOtv4Nali/CyGjWO?= =?us-ascii?Q?TI/3uydnoJc0OzHGZRdHLR4hxKxsja29c4PKq6mSOxLY5RIYxtmabYJNO4fw?= =?us-ascii?Q?Rddq53X63cAyP8+k4Jvw8ag8Eeftay49WtxM9wDVP6A+YVg/2kSj667XR9vJ?= =?us-ascii?Q?uw5bNX7YaKFQ21KtlRHNMQZW4yFCGZzTfa238Jiwn5TDrYtrU+PONJCSuffR?= =?us-ascii?Q?xQB1AMNWyg=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6e28cdc-b93a-4781-ec33-08df08738f0b X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9411.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2026 21:54:12.5861 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VW0hW8hoZ/hKtxY7mzaWYaxzo696+nj4h79MnkOUywKi+Dg0pt51Srb4s8Dhr+CNtYcCD/Uv5K4CRWam8Ol8fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4302 Content-Type: text/plain; charset="utf-8" Systems with firmware first error handling can see heavy SMM load as a result of the mix_and_match induced IOMMU errors. For devices like igb that get wedged on these errors, the resulting FLR is delayed waiting for the transaction pending register to clear, which never occurs. However, due to the background SMM, the backoff delays in PCI code wildly exceed their timeouts. As a result, the whole test can report failure. Extend the mix_and_match timeout to a value shown to complete reliably on such systems, with ~2x margin. Assisted-by: Qwen3.8-27B Signed-off-by: Alex Williamson Reviewed-by: David Matlack --- tools/testing/selftests/vfio/vfio_pci_driver_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/vfio/vfio_pci_driver_test.c b/tools/te= sting/selftests/vfio/vfio_pci_driver_test.c index 761bf117d624..1d532f944cee 100644 --- a/tools/testing/selftests/vfio/vfio_pci_driver_test.c +++ b/tools/testing/selftests/vfio/vfio_pci_driver_test.c @@ -190,7 +190,7 @@ TEST_F(vfio_pci_driver_test, send_msi) ASSERT_EQ(1, value); } =20 -TEST_F(vfio_pci_driver_test, mix_and_match) +TEST_F_TIMEOUT(vfio_pci_driver_test, mix_and_match, 90) { u64 value; int i; --=20 2.53.0 From nobody Sat Sep 26 11:47:36 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010001.outbound.protection.outlook.com [52.101.193.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC20646AF0D; Tue, 1 Sep 2026 21:54:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299661; cv=fail; b=uhSIVgWNiTACrcSsUE5F3Lf83Kc8FgSGsSoAa65VyzpPIEcYgrAPD+TU79inZQeVnYils9GC2nZBReMyMKNGd2/DLK9iKfBQcoCghw4hcI6n0mOCDfYWdjdf3mZ/Fcc7K8ypFaZUZBAUSCegb9Spy9BWaKVutWkHi7cODVBlBqk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788299661; c=relaxed/simple; bh=5xfc+27LAfcePNukA57ytqjziQ9JNDV4dY8VNqGv2AI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BfW9iSZLjZp7cBa0FJjznVja45DYt3R/lMD+gR1yCmFVL20yyb16E+72jAXottRDEErv7+8Yf99KmXwgTsHniZRJtvSYwxHKz6VWI1xnWH4nJ9gy/GnZmuKbX8z3q3ZV5buW9oH19xBevo9Us0GmJvxZ48JCJnGY4//2Tnk0B4Y= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=atz0gYdl; arc=fail smtp.client-ip=52.101.193.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="atz0gYdl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U1wLwFzlRqpgHXQCu8pgHU73zpYvenLrN5nBh8yiDymwtjpCtTdqDz/jUNBrxO/+zexFx6sSsjkZ7+v4/7Au9L+NzVWXSNs0OGe+AZzgrkhUqX/nV6rhBV3Z19v0096M5K/cKVABnr718zCDHNykawu/5UQieGLM5VwX5J6DL0vNlPyUlbpx8uzY8vwH2Q/uadk9NAOk9mWXg9EVJFF8eNA1fiMokHbSfXbWsAJIxqSj7s0f57KdigwIMkvBDLlz3pJGjdo+Po1qoHG2oUitRuNuRlc12Ka/oE/GbtJbrezRDUR5Nwn4Ep8sbD+bFSLj0MMMUp1HeTqkswW7rAUPug== 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=lO8fIYkRplkpm437ZyunXirqb+2ZqOSVG1cGAvVPfPs=; b=iiGZ/JQ3ggi6LzsTy4Wm3kIDrQBJ2WG+1vf4RRlz7FPMC8GhAhwMe7Ws/As1VaaCrOabkgaJTuoCvz+ZqKevWMOvDyKRkqmX7Cya5zTBNm2QPckubEXrYf0gnb24RsVB/a04FY2DgCze/v4ACxWOM4MwTxZ9BWKRgdVI5kFP8SsEsg0O7ct3ZoNzS/BB4/i++1uKpjO3yogmvySWoMVoznNcUU5Ex+0DvvaMrDw6TBoMpbkfsmOwq8apitBSwylCSkgxV4icvEAEkPPEt5FzfhH/degJkT6uZ36n1yz1SWWvgDdYXo5P+DudZO31F4nV8Cd3YHsetUzCDTBdAqM3Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lO8fIYkRplkpm437ZyunXirqb+2ZqOSVG1cGAvVPfPs=; b=atz0gYdl+MO17DH3QerqdAqGZDh/OT/cgm5rU9Ts3fVu+g5H8Z5vdpJLE92gq4LoRztiyBVHjMmkawZI7Y+kbCr8YeCyUc9EKk3E1Gs63WRbOFtwY8GJtAOUzWGRAmY4Esl9/IyceE4yTxyj9guGoW4XHX5c4IZmRGJXxFU2LkrzduZF3h290P1YULWVKinpwiDBO6TbNKVnDtTxHgLzxwWtX0Lv5MObN0qMzjEukOrOE4QnW4YlaPLPguagjoCRl25tO/FMh9oPhhW8vxrJOJHlpUUUYxNygHECWoKnEsWWBVMzsPlxnfx4FebYwcS7tjpOVP0fXEH2N4PSxXllMA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) by MN2PR12MB4302.namprd12.prod.outlook.com (2603:10b6:208:1de::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Tue, 1 Sep 2026 21:54:13 +0000 Received: from LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15]) by LV3PR12MB9411.namprd12.prod.outlook.com ([fe80::98b7:86de:b69:2a15%6]) with mapi id 15.21.0360.008; Tue, 1 Sep 2026 21:54:13 +0000 From: Alex Williamson To: Alex Williamson , kvm Cc: Alex Williamson , linux-kernel , Jason Gunthorpe , Kevin Tian , Yi Liu , David Matlack Subject: [PATCH 4/4] selftests/vfio: Extend timeout for runner executions Date: Tue, 1 Sep 2026 15:53:57 -0600 Message-ID: <20260901215358.2421359-5-alex.williamson@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260901215358.2421359-1-alex.williamson@nvidia.com> References: <20260901215358.2421359-1-alex.williamson@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0112.namprd03.prod.outlook.com (2603:10b6:5:3b7::27) To LV3PR12MB9411.namprd12.prod.outlook.com (2603:10b6:408:215::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV3PR12MB9411:EE_|MN2PR12MB4302:EE_ X-MS-Office365-Filtering-Correlation-Id: cdf8e7d2-b4fc-4e88-e1b6-08df08738f95 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|18002099003|22082099003|56012099006|6133799003|5023799004|10067099003|11063799006; X-Microsoft-Antispam-Message-Info: TYDT9WDWuy7SKy8tO0AQst6G6oqHG7BNcaMqf1eST4pbEurRqJbpTa1tLDlVTtEFR+ZPwx+/9DoZdkFfxetavImWPZfovLpwT1PkvdNYhHfITL2mcXQ8nSvqJb2MJZ7bBSReXVx4vdQWjX7iB+DzjulxTMHBFqSASeJSCifY0nnqCVALt0dZ7UL9BP0zMP0H0hDgeISPsLdxLqhWw2MhkUGIQ2sRl7tnrDIeopVam7nyCEzDW5FgB7rv7/Mwq5Q+pPeUEF6IIc4lYW9LUn+LjaTPjOqXa55rN0W6r8sJqzh32F5unGdpzhNDvT0c0dHeJSzOnDshPVQXtkGyN0w2jJ1VUPJGY0/ynwM6EWq/Ebt7ut1aZ97c5vOYrV8xLlm02fzx6skP8fAvJOpl3DADc7aW6mQ6wRa5gURnaycWrntOM5VcFzwF3QhRrGlH4pXE/oHvrThJfxNmTgoRal/vjAScGOCnoFQgJKlvs9ZvIs/JH4AEq+tl/ASEGl7fTyDbviQttyNwRwooKyld9OcVaKiH1+kBqoUN4p937zLaMuEEgt9QmHqbv4psxvRwjMkiFaCDmx9uGlbGql2omHh4CWJ83bcJF7fxBS5GqKxyb3NPlWh9CCg2a0d98KlAvXsLgu8SbB4c/SYO+59nJqhdF+7AQ7+bfUbcJrkr1phFNBE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9411.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(6133799003)(5023799004)(10067099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AvQ2IbA61sjrQunHFSekvjQiG5TBvqNwGa6GUpPCkJ3S6TKEDYmDBrggQybq?= =?us-ascii?Q?4awAEof/C+vHPMHY6l+/XMeASjyEG82ax3a60K+cvFu3xD2ky2F9c3Rj+PDQ?= =?us-ascii?Q?K9t/DbIAM4wy+gwr4NH0b42Sh4aWS4bZYNlsQnUIjBrV0yb0pPvzJC0a+Pne?= =?us-ascii?Q?Dhqu6UWbmAfLjx/QJwD89zkbbv4mC5RbzGvO+lT3m4+Do852yphKJu+Kugph?= =?us-ascii?Q?b7GL6VvdDEbiou+X22Gk2UZXgafFcEIOECwJFm/hrkXfCGJQ1eQaqsnQ5Q8k?= =?us-ascii?Q?Zoke3KHNGNxDvL0GZ3iqZ9AV0TNQSdpzsxgbFg+nUUL1WDIt43YJB0Rnz+p0?= =?us-ascii?Q?qhGQ28lq4yoOaNCONSnU28Ux/cZrQV6CBxx7Q2sq+1ADgfUqTu1eKdaUs2HH?= =?us-ascii?Q?VU+zthkZ9eFdZg6NRQNsql9mM8IhvJ1X1EMnqQEwl9IPAOHAdYZmcncl72ED?= =?us-ascii?Q?f7T5oEhr4qt6qAQjSrg6tlDOc6ctR8RHei7kInCY52+ZnVzbMr3pvyI3M6wK?= =?us-ascii?Q?WildO5Lv0CNX6fRaISCu4D3GcZOKwg27KN7ohaFiqM/shs87P+v77ueK7aRw?= =?us-ascii?Q?nmOhUuMQLBsNavCFNQ0DJUxDiMzJ7lPbQMtSAf504DbVO/lVlzPcSOQ4M63h?= =?us-ascii?Q?N0ynFQRVkmZAfnq3KsGWLWl+tGU60j9iYPww1SxIQV2E1aoFvy7uVUw/QGXs?= =?us-ascii?Q?3SHk89n9aqX7XwST6aeiQuznI/fACX7ANEvR3X5LB6XaJl3MDJDIZYb1rgWu?= =?us-ascii?Q?ek+1yN/gcedEMw6oYTtxqgyLU7VAaiOw1yGBd0luhkn4SV7tgguze+eAIPl7?= =?us-ascii?Q?BX8If1kdwusfND8+Zs3TjbUhxLHn7hKJI70Uo0GdqCDsf+upUcrdW2f6c/4W?= =?us-ascii?Q?UmmPtYthXmxXjOrV4+B5UqnC07GL8wjfSwiyfebw6XcEgc1m5UDk+vGv4Snw?= =?us-ascii?Q?fhQwyQ+EHWALhJCbVPoBOk6ApYMa7egfLibteA8JYJN/tNbxjJk+sfoDU3Ni?= =?us-ascii?Q?n19VYjApOa8kQOmTbql+6X8L8Gfv3FE4ILEfr8h1vfsqFxeRgJyTE00DuNuk?= =?us-ascii?Q?lRBo+pnb8WE0lX9BbCiOy3om8rVYhRFXHgwt4RPedhGeGw+futn8nFhxmIvT?= =?us-ascii?Q?D7F/xBsvSYFXwXley5dtbROx+dEMbQkJxeqgN377lHVUCeZtw+dpnbI1jkuc?= =?us-ascii?Q?UgO0IqvrDaLGoQNO5WJE7Xlyhg4+Aahb0TPZueNl+OTM7HmT27cfjxqAs9rF?= =?us-ascii?Q?7O2sDqvQb10yvBn3SzjXxaP5YBPSmxnJRLq6gEaxO7Yp9pj8LpNOO9KOwoq9?= =?us-ascii?Q?cL7A2oxbL2HRArpMWbo/Rin5Ioudg52WXKmDZdGpvNBMEwk/IKK6ZBk+h3wh?= =?us-ascii?Q?6SMaplKCTSQM+muLxkMTm5W3okOcpGPBzxvZf4FI7yqZZrjvtGFcPcQtN8n5?= =?us-ascii?Q?H+Fkogu1KDaji4Ao6rBI9gLkm9CGn7PM4JBoBSB0FsLyvClfnTv16/DnagKw?= =?us-ascii?Q?yTsexPxl5Qmt70qn4dhHJ/C5LtZ9CsNa2y40L7in58t5lFuE5MXTOu5sLDkm?= =?us-ascii?Q?tHqIsQCqeptNgTbHPiIFKCbr3KocIHqTGDG3UktMVvT3iqW93+TipuWC/VIU?= =?us-ascii?Q?/Lf2uI48b9p0kgr6i+urzM0Hy+LefTHncPmwQXqP/Uh4v1qRsAEBisep6880?= =?us-ascii?Q?UzWNedG5tFF8JmAREs2XuN6ul2Nuf7aLfAu9lYKnsr7GS3xVn+4LgNKDaLpn?= =?us-ascii?Q?HcHVsgLGkw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: cdf8e7d2-b4fc-4e88-e1b6-08df08738f95 X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9411.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2026 21:54:13.4671 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BsXS5XMAQ5UqkpUxgdA55mRbY3LeF3ReB0AIA4KYfYNup0bOuMTAMEH4xkq6421aA2oc8SSdI2aHGiLT10BUxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4302 Content-Type: text/plain; charset="utf-8" When executed via the runner, ie. run_kselftest.sh, tests are subject to a default 45s timeout. None of the igb, ioatdma, or nv_falcon drivers can run the vfio_pci_driver_test within this window. The igb driver is the worst due to the device getting wedged from bad DMAs in mix_and_match and requiring the full transaction pending delay prior to FLR. This is even further exacerbated when the system implements firmware-first error handling and the transaction pending scheduled delays are preempted beyond expectations by SMIs. Worst case observed runtime for the whole vfio_pci_driver_test on such a setup is 450s. Round up to 600s. Assisted-by: GPT-5.5 Signed-off-by: Alex Williamson Reviewed-by: David Matlack --- tools/testing/selftests/vfio/.gitignore | 1 + tools/testing/selftests/vfio/settings | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 tools/testing/selftests/vfio/settings diff --git a/tools/testing/selftests/vfio/.gitignore b/tools/testing/selfte= sts/vfio/.gitignore index 7fadc19d3bca..fc14bc18bcd8 100644 --- a/tools/testing/selftests/vfio/.gitignore +++ b/tools/testing/selftests/vfio/.gitignore @@ -8,3 +8,4 @@ !*.mk !.gitignore !Makefile +!settings diff --git a/tools/testing/selftests/vfio/settings b/tools/testing/selftest= s/vfio/settings new file mode 100644 index 000000000000..c9abf1c19f19 --- /dev/null +++ b/tools/testing/selftests/vfio/settings @@ -0,0 +1,5 @@ +# Extend kselftest default 45s timeout based on worst case test runtime, +# currently vfio:vfio_pci_driver_test running on physical NIC, battling +# SMIs due to invoked firmware-first error handling from bad DMAs and +# device wedging. Observed worst case ~450s, extend to 600s. +timeout=3D600 --=20 2.53.0