CVE-2026-68319 (GCVE-0-2026-68319)

Vulnerability from cvelistv5 – Published: 2026-08-10 12:02 – Updated: 2026-08-17 05:03
VLAI
Title
pds_core: fix deadlock between reset thread and remove
Summary
In the Linux kernel, the following vulnerability has been resolved: pds_core: fix deadlock between reset thread and remove pci_reset_function() acquires device_lock before performing the reset. pdsc_remove() is called by the PCI core with device_lock already held. If pdsc_pci_reset_thread() is running when pdsc_remove() is called, destroy_workqueue() will block waiting for the work to complete, while the work is blocked waiting for device_lock - deadlock. Use pci_try_reset_function() which uses pci_dev_trylock() internally. This acquires both the device lock and the PCI config access lock without blocking - if either lock is contended, it returns -EAGAIN immediately. This avoids the deadlock while also ensuring proper config space access serialization during the reset. The pci_dev_get/put calls are also removed as they were unnecessary - the driver-owned workqueue is destroyed in pdsc_remove(), guaranteeing the work completes before remove returns. The PCI core holds its reference to pci_dev throughout the entire unbind sequence.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 81665adf25d28a00a986533f1d3a5df76b79cad9 , < 90d9f3ef28843e6c35149324b8eefb427a7435c2 (git)
Affected: 81665adf25d28a00a986533f1d3a5df76b79cad9 , < 19ef775c91c6bf4bd2b60f6616f4e28b621cdd6a (git)
Affected: 81665adf25d28a00a986533f1d3a5df76b79cad9 , < 54f905821f26d385fba407a920b51f0a752c76dc (git)
Affected: 81665adf25d28a00a986533f1d3a5df76b79cad9 , < ab0eec0ff0a421737a37f510ceab5c6ea59cd05a (git)
Affected: 38407914d48273d7f8ab765b9243658afe1c3ab6 (git)
Affected: 6.8.7 , < 6.9 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.9
Unaffected: 0 , < 6.9 (semver)
Unaffected: 6.12.101 , ≤ 6.12.* (semver)
Unaffected: 6.18.42 , ≤ 6.18.* (semver)
Unaffected: 7.1.6 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/amd/pds_core/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "90d9f3ef28843e6c35149324b8eefb427a7435c2",
              "status": "affected",
              "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
              "versionType": "git"
            },
            {
              "lessThan": "19ef775c91c6bf4bd2b60f6616f4e28b621cdd6a",
              "status": "affected",
              "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
              "versionType": "git"
            },
            {
              "lessThan": "54f905821f26d385fba407a920b51f0a752c76dc",
              "status": "affected",
              "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
              "versionType": "git"
            },
            {
              "lessThan": "ab0eec0ff0a421737a37f510ceab5c6ea59cd05a",
              "status": "affected",
              "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "38407914d48273d7f8ab765b9243658afe1c3ab6",
              "versionType": "git"
            },
            {
              "lessThan": "6.9",
              "status": "affected",
              "version": "6.8.7",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/amd/pds_core/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.101",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.101",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.42",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.6",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.8.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npds_core: fix deadlock between reset thread and remove\n\npci_reset_function() acquires device_lock before performing the reset.\npdsc_remove() is called by the PCI core with device_lock already held.\nIf pdsc_pci_reset_thread() is running when pdsc_remove() is called,\ndestroy_workqueue() will block waiting for the work to complete, while\nthe work is blocked waiting for device_lock - deadlock.\n\nUse pci_try_reset_function() which uses pci_dev_trylock() internally.\nThis acquires both the device lock and the PCI config access lock\nwithout blocking - if either lock is contended, it returns -EAGAIN\nimmediately. This avoids the deadlock while also ensuring proper\nconfig space access serialization during the reset.\n\nThe pci_dev_get/put calls are also removed as they were unnecessary -\nthe driver-owned workqueue is destroyed in pdsc_remove(), guaranteeing\nthe work completes before remove returns. The PCI core holds its\nreference to pci_dev throughout the entire unbind sequence."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:03:16.659Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/90d9f3ef28843e6c35149324b8eefb427a7435c2"
        },
        {
          "url": "https://git.kernel.org/stable/c/19ef775c91c6bf4bd2b60f6616f4e28b621cdd6a"
        },
        {
          "url": "https://git.kernel.org/stable/c/54f905821f26d385fba407a920b51f0a752c76dc"
        },
        {
          "url": "https://git.kernel.org/stable/c/ab0eec0ff0a421737a37f510ceab5c6ea59cd05a"
        }
      ],
      "title": "pds_core: fix deadlock between reset thread and remove",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-68319",
    "datePublished": "2026-08-10T12:02:54.173Z",
    "dateReserved": "2026-07-30T09:28:09.382Z",
    "dateUpdated": "2026-08-17T05:03:16.659Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-68319",
      "date": "2026-09-21",
      "epss": "0.00168",
      "percentile": "0.06481"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/amd/pds_core/core.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "90d9f3ef28843e6c35149324b8eefb427a7435c2",
                    "status": "affected",
                    "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "19ef775c91c6bf4bd2b60f6616f4e28b621cdd6a",
                    "status": "affected",
                    "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "54f905821f26d385fba407a920b51f0a752c76dc",
                    "status": "affected",
                    "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ab0eec0ff0a421737a37f510ceab5c6ea59cd05a",
                    "status": "affected",
                    "version": "81665adf25d28a00a986533f1d3a5df76b79cad9",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "38407914d48273d7f8ab765b9243658afe1c3ab6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.9",
                    "status": "affected",
                    "version": "6.8.7",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/amd/pds_core/core.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.9"
                  },
                  {
                    "lessThan": "6.9",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.101",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.42",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npds_core: fix deadlock between reset thread and remove\n\npci_reset_function() acquires device_lock before performing the reset.\npdsc_remove() is called by the PCI core with device_lock already held.\nIf pdsc_pci_reset_thread() is running when pdsc_remove() is called,\ndestroy_workqueue() will block waiting for the work to complete, while\nthe work is blocked waiting for device_lock - deadlock.\n\nUse pci_try_reset_function() which uses pci_dev_trylock() internally.\nThis acquires both the device lock and the PCI config access lock\nwithout blocking - if either lock is contended, it returns -EAGAIN\nimmediately. This avoids the deadlock while also ensuring proper\nconfig space access serialization during the reset.\n\nThe pci_dev_get/put calls are also removed as they were unnecessary -\nthe driver-owned workqueue is destroyed in pdsc_remove(), guaranteeing\nthe work completes before remove returns. The PCI core holds its\nreference to pci_dev throughout the entire unbind sequence."
          }
        ],
        "id": "CVE-2026-68319",
        "lastModified": "2026-08-17T05:18:34.827",
        "metrics": {},
        "published": "2026-08-10T13:20:21.933",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/19ef775c91c6bf4bd2b60f6616f4e28b621cdd6a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/54f905821f26d385fba407a920b51f0a752c76dc"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/90d9f3ef28843e6c35149324b8eefb427a7435c2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ab0eec0ff0a421737a37f510ceab5c6ea59cd05a"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-31T11:22:03+00:00",
      "cve": "CVE-2026-68319",
      "id": "CVE-2026-68319",
      "initial_release_date": "2026-08-10T00:00:00+00:00",
      "product_status:known_affected": "1",
      "product_status:known_not_affected": "276",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: pds_core: fix deadlock between reset thread and remove",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68319.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:36:26Z",
      "cve": "CVE-2026-68319",
      "id": "CVE-2026-68319",
      "initial_release_date": "2026-08-11T23:48:04Z",
      "product_status:known_affected": "29",
      "product_status:known_not_affected": "345",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-68319",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68319.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…