{"id":"CVE-2026-43147","state":"PUBLISHED","title":"Revert \"PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV\"","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nRevert \"PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV\"\n\nThis reverts commit 05703271c3cd (\"PCI/IOV: Add PCI rescan-remove locking\nwhen enabling/disabling SR-IOV\"), which causes a deadlock by recursively\ntaking pci_rescan_remove_lock when sriov_del_vfs() is called as part of\npci_stop_and_remove_bus_device(). For example with the following sequence\nof commands:\n\n  $ echo <NUM> > /sys/bus/pci/devices/<pf>/sriov_numvfs\n  $ echo 1 > /sys/bus/pci/devices/<pf>/remove\n\nA trimmed trace of the deadlock on a mlx5 device is as below:\n\n  zsh/5715 is trying to acquire lock:\n  000002597926ef50 (pci_rescan_remove_lock){+.+.}-{3:3}, at: sriov_disable+0x34/0x140\n\n  but task is already holding lock:\n  000002597926ef50 (pci_rescan_remove_lock){+.+.}-{3:3}, at: pci_stop_and_remove_bus_device_locked+0x24/0x80\n  ...\n  Call Trace:\n   [<00000259778c4f90>] dump_stack_lvl+0xc0/0x110\n   [<00000259779c844e>] print_deadlock_bug+0x31e/0x330\n   [<00000259779c1908>] __lock_acquire+0x16c8/0x32f0\n   [<00000259779bffac>] lock_acquire+0x14c/0x350\n   [<00000259789643a6>] __mutex_lock_common+0xe6/0x1520\n   [<000002597896413c>] mutex_lock_nested+0x3c/0x50\n   [<00000259784a07e4>] sriov_disable+0x34/0x140\n   [<00000258f7d6dd80>] mlx5_sriov_disable+0x50/0x80 [mlx5_core]\n   [<00000258f7d5745e>] remove_one+0x5e/0xf0 [mlx5_core]\n   [<00000259784857fc>] pci_device_remove+0x3c/0xa0\n   [<000002597851012e>] device_release_driver_internal+0x18e/0x280\n   [<000002597847ae22>] pci_stop_bus_device+0x82/0xa0\n   [<000002597847afce>] pci_stop_and_remove_bus_device_locked+0x5e/0x80\n   [<00000259784972c2>] remove_store+0x72/0x90\n   [<0000025977e6661a>] kernfs_fop_write_iter+0x15a/0x200\n   [<0000025977d7241c>] vfs_write+0x24c/0x300\n   [<0000025977d72696>] ksys_write+0x86/0x110\n   [<000002597895b61c>] __do_syscall+0x14c/0x400\n   [<000002597896e0ee>] system_call+0x6e/0x90\n\nThis alone is not a complete fix as it restores the issue the cited commit\ntried to solve. A new fix will be provided as a follow on.","publishedAt":"2026-05-06T11:27:30.235Z","updatedAt":"2026-05-23T16:06:24.518Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1e8a80290f964bdbad225221c8a1594c7e01c8fd","status":"affected","lessThan":"f61cdd7e9b67bb8961b0a81bf294b78343e5db05","versionType":"git"},{"version":"a645ca21de09e3137cbb224fa6c23cca873a1d01","status":"affected","lessThan":"0de341b2365bad430aade0853fe09c2cbe468f59","versionType":"git"},{"version":"a24219172456f035d886857e265ca24c85b167c8","status":"affected","lessThan":"83651d37474c762920e345a3a0828f975ca4d732","versionType":"git"},{"version":"36039348bca77828bf06eae41b8f76e38cd15847","status":"affected","lessThan":"639265296fe6ee21b6f00e00ee2bab65f3b07252","versionType":"git"},{"version":"53154cd40ccf285f1d1c24367824082061d155bd","status":"affected","lessThan":"d47f27e145f8bd13f3c230da5e3af29225b4a2f7","versionType":"git"},{"version":"05703271c3cdcc0f2a8cf6ebdc45892b8ca83520","status":"affected","lessThan":"40f67686a5002c0c322fac918406bbc8d9c2ec2f","versionType":"git"},{"version":"05703271c3cdcc0f2a8cf6ebdc45892b8ca83520","status":"affected","lessThan":"58677783c89681871077f50a7042b0c6380c4fd8","versionType":"git"},{"version":"05703271c3cdcc0f2a8cf6ebdc45892b8ca83520","status":"affected","lessThan":"2fa119c0e5e528453ebae9e70740e8d2d8c0ed5a","versionType":"git"},{"version":"5c1cd7d405e94dc6cb320cc0cc092b74895b6ddf","status":"affected","versionType":"git"},{"version":"ee40e5db052d7c6f406fdb95ad639c894c74674c","status":"affected","versionType":"git"},{"version":"5.10.246","status":"affected","lessThan":"5.10.252","versionType":"semver"},{"version":"5.15.195","status":"affected","lessThan":"5.15.202","versionType":"semver"},{"version":"6.1.157","status":"affected","lessThan":"6.1.165","versionType":"semver"},{"version":"6.6.113","status":"affected","lessThan":"6.6.128","versionType":"semver"},{"version":"6.12.54","status":"affected","lessThan":"6.12.75","versionType":"semver"},{"version":"5.4.301","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"6.17.4","status":"affected","lessThan":"6.18","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pci/iov.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.18","versionType":"semver"},{"version":"5.10.252","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.202","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.165","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.128","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.75","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.16","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.6","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pci/iov.c"]}],"references":["https://git.kernel.org/stable/c/f61cdd7e9b67bb8961b0a81bf294b78343e5db05","https://git.kernel.org/stable/c/0de341b2365bad430aade0853fe09c2cbe468f59","https://git.kernel.org/stable/c/83651d37474c762920e345a3a0828f975ca4d732","https://git.kernel.org/stable/c/639265296fe6ee21b6f00e00ee2bab65f3b07252","https://git.kernel.org/stable/c/d47f27e145f8bd13f3c230da5e3af29225b4a2f7","https://git.kernel.org/stable/c/40f67686a5002c0c322fac918406bbc8d9c2ec2f","https://git.kernel.org/stable/c/58677783c89681871077f50a7042b0c6380c4fd8","https://git.kernel.org/stable/c/2fa119c0e5e528453ebae9e70740e8d2d8c0ed5a"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43147.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43147","state":"PUBLISHED","datePublished":"2026-05-06T11:27:30.235Z","dateUpdated":"2026-05-23T16:06:24.518Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:55.989Z"},"containers":{"cna":{"title":"Revert \"PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV\"","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nRevert \"PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV\"\n\nThis reverts commit 05703271c3cd (\"PCI/IOV: Add PCI rescan-remove locking\nwhen enabling/disabling SR-IOV\"), which causes a deadlock by recursively\ntaking pci_rescan_remove_lock when sriov_del_vfs() is called as part of\npci_stop_and_remove_bus_device(). For example with the following sequence\nof commands:\n\n  $ echo <NUM> > /sys/bus/pci/devices/<pf>/sriov_numvfs\n  $ echo 1 > /sys/bus/pci/devices/<pf>/remove\n\nA trimmed trace of the deadlock on a mlx5 device is as below:\n\n  zsh/5715 is trying to acquire lock:\n  000002597926ef50 (pci_rescan_remove_lock){+.+.}-{3:3}, at: sriov_disable+0x34/0x140\n\n  but task is already holding lock:\n  000002597926ef50 (pci_rescan_remove_lock){+.+.}-{3:3}, at: pci_stop_and_remove_bus_device_locked+0x24/0x80\n  ...\n  Call Trace:\n   [<00000259778c4f90>] dump_stack_lvl+0xc0/0x110\n   [<00000259779c844e>] print_deadlock_bug+0x31e/0x330\n   [<00000259779c1908>] __lock_acquire+0x16c8/0x32f0\n   [<00000259779bffac>] lock_acquire+0x14c/0x350\n   [<00000259789643a6>] __mutex_lock_common+0xe6/0x1520\n   [<000002597896413c>] mutex_lock_nested+0x3c/0x50\n   [<00000259784a07e4>] sriov_disable+0x34/0x140\n   [<00000258f7d6dd80>] mlx5_sriov_disable+0x50/0x80 [mlx5_core]\n   [<00000258f7d5745e>] remove_one+0x5e/0xf0 [mlx5_core]\n   [<00000259784857fc>] pci_device_remove+0x3c/0xa0\n   [<000002597851012e>] device_release_driver_internal+0x18e/0x280\n   [<000002597847ae22>] pci_stop_bus_device+0x82/0xa0\n   [<000002597847afce>] pci_stop_and_remove_bus_device_locked+0x5e/0x80\n   [<00000259784972c2>] remove_store+0x72/0x90\n   [<0000025977e6661a>] kernfs_fop_write_iter+0x15a/0x200\n   [<0000025977d7241c>] vfs_write+0x24c/0x300\n   [<0000025977d72696>] ksys_write+0x86/0x110\n   [<000002597895b61c>] __do_syscall+0x14c/0x400\n   [<000002597896e0ee>] system_call+0x6e/0x90\n\nThis alone is not a complete fix as it restores the issue the cited commit\ntried to solve. A new fix will be provided as a follow on."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1e8a80290f964bdbad225221c8a1594c7e01c8fd","status":"affected","lessThan":"f61cdd7e9b67bb8961b0a81bf294b78343e5db05","versionType":"git"},{"version":"a645ca21de09e3137cbb224fa6c23cca873a1d01","status":"affected","lessThan":"0de341b2365bad430aade0853fe09c2cbe468f59","versionType":"git"},{"version":"a24219172456f035d886857e265ca24c85b167c8","status":"affected","lessThan":"83651d37474c762920e345a3a0828f975ca4d732","versionType":"git"},{"version":"36039348bca77828bf06eae41b8f76e38cd15847","status":"affected","lessThan":"639265296fe6ee21b6f00e00ee2bab65f3b07252","versionType":"git"},{"version":"53154cd40ccf285f1d1c24367824082061d155bd","status":"affected","lessThan":"d47f27e145f8bd13f3c230da5e3af29225b4a2f7","versionType":"git"},{"version":"05703271c3cdcc0f2a8cf6ebdc45892b8ca83520","status":"affected","lessThan":"40f67686a5002c0c322fac918406bbc8d9c2ec2f","versionType":"git"},{"version":"05703271c3cdcc0f2a8cf6ebdc45892b8ca83520","status":"affected","lessThan":"58677783c89681871077f50a7042b0c6380c4fd8","versionType":"git"},{"version":"05703271c3cdcc0f2a8cf6ebdc45892b8ca83520","status":"affected","lessThan":"2fa119c0e5e528453ebae9e70740e8d2d8c0ed5a","versionType":"git"},{"version":"5c1cd7d405e94dc6cb320cc0cc092b74895b6ddf","status":"affected","versionType":"git"},{"version":"ee40e5db052d7c6f406fdb95ad639c894c74674c","status":"affected","versionType":"git"},{"version":"5.10.246","status":"affected","lessThan":"5.10.252","versionType":"semver"},{"version":"5.15.195","status":"affected","lessThan":"5.15.202","versionType":"semver"},{"version":"6.1.157","status":"affected","lessThan":"6.1.165","versionType":"semver"},{"version":"6.6.113","status":"affected","lessThan":"6.6.128","versionType":"semver"},{"version":"6.12.54","status":"affected","lessThan":"6.12.75","versionType":"semver"},{"version":"5.4.301","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"6.17.4","status":"affected","lessThan":"6.18","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pci/iov.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.18","versionType":"semver"},{"version":"5.10.252","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.202","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.165","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.128","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.75","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.16","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.6","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pci/iov.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/f61cdd7e9b67bb8961b0a81bf294b78343e5db05"},{"url":"https://git.kernel.org/stable/c/0de341b2365bad430aade0853fe09c2cbe468f59"},{"url":"https://git.kernel.org/stable/c/83651d37474c762920e345a3a0828f975ca4d732"},{"url":"https://git.kernel.org/stable/c/639265296fe6ee21b6f00e00ee2bab65f3b07252"},{"url":"https://git.kernel.org/stable/c/d47f27e145f8bd13f3c230da5e3af29225b4a2f7"},{"url":"https://git.kernel.org/stable/c/40f67686a5002c0c322fac918406bbc8d9c2ec2f"},{"url":"https://git.kernel.org/stable/c/58677783c89681871077f50a7042b0c6380c4fd8"},{"url":"https://git.kernel.org/stable/c/2fa119c0e5e528453ebae9e70740e8d2d8c0ed5a"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T16:06:24.518Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.246","versionEndExcluding":"5.10.252"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.195","versionEndExcluding":"5.15.202"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.157","versionEndExcluding":"6.1.165"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.113","versionEndExcluding":"6.6.128"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.54","versionEndExcluding":"6.12.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18","versionEndExcluding":"6.18.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18","versionEndExcluding":"6.19.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18","versionEndExcluding":"7.0"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.301"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17.4"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}