{"id":"CVE-2025-40219","summary":"PCI/IOV: Fix race between SR-IOV enable/disable and hotplug","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nPCI/IOV: Fix race between SR-IOV enable/disable and hotplug\n\nCommit 05703271c3cd (\"PCI/IOV: Add PCI rescan-remove locking when\nenabling/disabling SR-IOV\") tried to fix a race between the VF removal\ninside sriov_del_vfs() and concurrent hot unplug by taking the PCI\nrescan/remove lock in sriov_del_vfs(). Similarly the PCI rescan/remove lock\nwas also taken in sriov_add_vfs() to protect addition of VFs.\n\nThis approach however causes deadlock on trying to remove PFs with SR-IOV\nenabled because PFs disable SR-IOV during removal and this removal happens\nunder the PCI rescan/remove lock. So the original fix had to be reverted.\n\nInstead of taking the PCI rescan/remove lock in sriov_add_vfs() and\nsriov_del_vfs(), fix the race that occurs with SR-IOV enable and disable vs\nhotplug higher up in the callchain by taking the lock in\nsriov_numvfs_store() before calling into the driver's sriov_configure()\ncallback.","modified":"2026-04-04T11:00:14.165221Z","published":"2025-12-04T14:50:42.996Z","related":["SUSE-SU-2026:0278-1","SUSE-SU-2026:0281-1","SUSE-SU-2026:0293-1","SUSE-SU-2026:0315-1","SUSE-SU-2026:0316-1","SUSE-SU-2026:1078-1","SUSE-SU-2026:20207-1","SUSE-SU-2026:20220-1","SUSE-SU-2026:20228-1","SUSE-SU-2026:20477-1","SUSE-SU-2026:20498-1","SUSE-SU-2026:20845-1","SUSE-SU-2026:20876-1","openSUSE-SU-2026:20145-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40219.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/05703271c3cdcc0f2a8cf6ebdc45892b8ca83520"},{"type":"WEB","url":"https://git.kernel.org/stable/c/1047ca2d816994f31e1475e63e0c0b7825599747"},{"type":"WEB","url":"https://git.kernel.org/stable/c/1e8a80290f964bdbad225221c8a1594c7e01c8fd"},{"type":"WEB","url":"https://git.kernel.org/stable/c/36039348bca77828bf06eae41b8f76e38cd15847"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3cddde484471c602bea04e6f384819d336a1ff84"},{"type":"WEB","url":"https://git.kernel.org/stable/c/53154cd40ccf285f1d1c24367824082061d155bd"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5c1cd7d405e94dc6cb320cc0cc092b74895b6ddf"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7c37920c96b85ef4255a7acc795e99e63dd38d59"},{"type":"WEB","url":"https://git.kernel.org/stable/c/97c18f074ff1c12d016a0753072a3afdfa0b9611"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a24219172456f035d886857e265ca24c85b167c8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a5338e365c4559d7b4d7356116b0eb95b12e08d5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a645ca21de09e3137cbb224fa6c23cca873a1d01"},{"type":"WEB","url":"https://git.kernel.org/stable/c/bea1d373098b22d7142da48750ce5526096425bc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d7673ac466eca37ec3e6b7cc9ccdb06de3304e9b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ee40e5db052d7c6f406fdb95ad639c894c74674c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f3015627b6e9ddf85cfeaf42405b3c194dde2c36"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40219.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-40219"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"18f9e9d150fccfa747875df6f0a9f606740762b3"},{"fixed":"3cddde484471c602bea04e6f384819d336a1ff84"},{"fixed":"d7673ac466eca37ec3e6b7cc9ccdb06de3304e9b"},{"fixed":"7c37920c96b85ef4255a7acc795e99e63dd38d59"},{"fixed":"1047ca2d816994f31e1475e63e0c0b7825599747"},{"fixed":"97c18f074ff1c12d016a0753072a3afdfa0b9611"},{"fixed":"bea1d373098b22d7142da48750ce5526096425bc"},{"fixed":"f3015627b6e9ddf85cfeaf42405b3c194dde2c36"},{"fixed":"a5338e365c4559d7b4d7356116b0eb95b12e08d5"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-40219.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.10.252"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.202"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.165"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.128"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.75"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.16"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"6.19.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-40219.json"}}],"schema_version":"1.7.5"}