---
id: CVE-2025-40219
title: 'PCI/IOV: Fix race between SR-IOV enable/disable and hotplug'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  PCI/IOV: Fix race between SR-IOV enable/disable and hotplug

  Commit 05703271c3cd ("PCI/IOV: Add PCI rescan-remove locking when
  enabling/disabling SR-IOV") tried to fix …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    3cddde484471c602bea04e6f384819d336a1ff84
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    d7673ac466eca37ec3e6b7cc9ccdb06de3304e9b
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    7c37920c96b85ef4255a7acc795e99e63dd38d59
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    1047ca2d816994f31e1475e63e0c0b7825599747
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    97c18f074ff1c12d016a0753072a3afdfa0b9611
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    bea1d373098b22d7142da48750ce5526096425bc
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    f3015627b6e9ddf85cfeaf42405b3c194dde2c36
  - >-
    Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 <
    a5338e365c4559d7b4d7356116b0eb95b12e08d5
  - Linux 5.0
published: '2025-12-04'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:42:55.399Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-40219'
references:
  - url: 'https://git.kernel.org/stable/c/3cddde484471c602bea04e6f384819d336a1ff84'
  - url: 'https://git.kernel.org/stable/c/d7673ac466eca37ec3e6b7cc9ccdb06de3304e9b'
  - url: 'https://git.kernel.org/stable/c/7c37920c96b85ef4255a7acc795e99e63dd38d59'
  - url: 'https://git.kernel.org/stable/c/1047ca2d816994f31e1475e63e0c0b7825599747'
  - url: 'https://git.kernel.org/stable/c/97c18f074ff1c12d016a0753072a3afdfa0b9611'
  - url: 'https://git.kernel.org/stable/c/bea1d373098b22d7142da48750ce5526096425bc'
  - url: 'https://git.kernel.org/stable/c/f3015627b6e9ddf85cfeaf42405b3c194dde2c36'
  - url: 'https://git.kernel.org/stable/c/a5338e365c4559d7b4d7356116b0eb95b12e08d5'
tags:
  - cve.org
epss: 0.00224
epssPercentile: 0.11536
ingestedAt: '2026-09-08T15:33:26.996Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

PCI/IOV: Fix race between SR-IOV enable/disable and hotplug

Commit 05703271c3cd ("PCI/IOV: Add PCI rescan-remove locking when
enabling/disabling SR-IOV") tried to fix a race between the VF removal
inside sriov_del_vfs() and concurrent hot unplug by taking the PCI
rescan/remove lock in sriov_del_vfs(). Similarly the PCI rescan/remove lock
was also taken in sriov_add_vfs() to protect addition of VFs.

This approach however causes deadlock on trying to remove PFs with SR-IOV
enabled because PFs disable SR-IOV during removal and this removal happens
under the PCI rescan/remove lock. So the original fix had to be reverted.

Instead of taking the PCI rescan/remove lock in sriov_add_vfs() and
sriov_del_vfs(), fix the race that occurs with SR-IOV enable and disable vs
hotplug higher up in the callchain by taking the lock in
sriov_numvfs_store() before calling into the driver's sriov_configure()
callback.

## Affected

- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < 3cddde484471c602bea04e6f384819d336a1ff84`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < d7673ac466eca37ec3e6b7cc9ccdb06de3304e9b`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < 7c37920c96b85ef4255a7acc795e99e63dd38d59`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < 1047ca2d816994f31e1475e63e0c0b7825599747`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < 97c18f074ff1c12d016a0753072a3afdfa0b9611`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < bea1d373098b22d7142da48750ce5526096425bc`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < f3015627b6e9ddf85cfeaf42405b3c194dde2c36`
- `Linux >= 18f9e9d150fccfa747875df6f0a9f606740762b3 < a5338e365c4559d7b4d7356116b0eb95b12e08d5`
- `Linux 5.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
