CVE-2026-98780 (GCVE-0-2026-98780)
Vulnerability from cvelistv5
Published
2026-10-18 15:48
Modified
2026-10-30 12:39
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix IP instance memory leak on kobject add failure amdgpu_discovery_sysfs_ips() allocates ip_hw_instance with kzalloc_flex() and initializes its embedded kobject before calling kobject_add(). If kobject_add() fails, the return value is ignored and execution continues without dropping the initial kobject reference. The failed kobject is not retained in the kset list, so the normal sysfs teardown path cannot find it. As a result, ip_hw_instance_release() is never called and the ip_hw_instance allocation is leaked. Call kobject_put() when kobject_add() fails so the initial reference is dropped and ip_hw_instance_release() can free the allocation. Keep the existing best-effort sysfs behavior by continuing with the remaining IP entries after the failed registration. The issue was identified by a static analysis tool I developed and confirmed by manual review. (cherry picked from commit 5c75fbcca8af1096d8d9415b91d8ea6212c22ee1)
Impacted products
Vendor Product Version
Linux Linux Version: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
Version: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
Version: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
Version: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
Version: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
Version: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1d7dd4f230867231abfc5cc413dae5260e06fdb2",
              "status": "affected",
              "version": "a6c40b178092f41b9d6cc8615697c14b1e5a1c3a",
              "versionType": "git"
            },
            {
              "lessThan": "f6364e7284a131556f5d763d867147bece2843a8",
              "status": "affected",
              "version": "a6c40b178092f41b9d6cc8615697c14b1e5a1c3a",
              "versionType": "git"
            },
            {
              "lessThan": "0563b26c1437fe7e25ea42c334eb85c0a703f8ff",
              "status": "affected",
              "version": "a6c40b178092f41b9d6cc8615697c14b1e5a1c3a",
              "versionType": "git"
            },
            {
              "lessThan": "7ca44cb14d0249992a8f1425ba004d6e2d16d255",
              "status": "affected",
              "version": "a6c40b178092f41b9d6cc8615697c14b1e5a1c3a",
              "versionType": "git"
            },
            {
              "lessThan": "c05bbcc263d67b8b158e2a52be7e3005895969d1",
              "status": "affected",
              "version": "a6c40b178092f41b9d6cc8615697c14b1e5a1c3a",
              "versionType": "git"
            },
            {
              "lessThan": "f5a5add3605935163dd0f75749b6a7869e9765af",
              "status": "affected",
              "version": "a6c40b178092f41b9d6cc8615697c14b1e5a1c3a",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "lessThan": "5.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.191",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.160",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.56",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.191",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.160",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.113",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.56",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.10",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: fix IP instance memory leak on kobject add failure\n\namdgpu_discovery_sysfs_ips() allocates ip_hw_instance with\nkzalloc_flex() and initializes its embedded kobject before calling\nkobject_add().\n\nIf kobject_add() fails, the return value is ignored and execution\ncontinues without dropping the initial kobject reference. The failed\nkobject is not retained in the kset list, so the normal sysfs teardown\npath cannot find it. As a result, ip_hw_instance_release() is never\ncalled and the ip_hw_instance allocation is leaked.\n\nCall kobject_put() when kobject_add() fails so the initial reference is\ndropped and ip_hw_instance_release() can free the allocation. Keep the\nexisting best-effort sysfs behavior by continuing with the remaining IP\nentries after the failed registration.\n\nThe issue was identified by a static analysis tool I developed and\nconfirmed by manual review.\n\n(cherry picked from commit 5c75fbcca8af1096d8d9415b91d8ea6212c22ee1)"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-30T12:39:47.351Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1d7dd4f230867231abfc5cc413dae5260e06fdb2"
        },
        {
          "url": "https://git.kernel.org/stable/c/f6364e7284a131556f5d763d867147bece2843a8"
        },
        {
          "url": "https://git.kernel.org/stable/c/0563b26c1437fe7e25ea42c334eb85c0a703f8ff"
        },
        {
          "url": "https://git.kernel.org/stable/c/7ca44cb14d0249992a8f1425ba004d6e2d16d255"
        },
        {
          "url": "https://git.kernel.org/stable/c/c05bbcc263d67b8b158e2a52be7e3005895969d1"
        },
        {
          "url": "https://git.kernel.org/stable/c/f5a5add3605935163dd0f75749b6a7869e9765af"
        }
      ],
      "title": "drm/amdgpu: fix IP instance memory leak on kobject add failure",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98780",
    "datePublished": "2026-10-18T15:48:17.804Z",
    "dateReserved": "2026-09-25T10:25:14.369Z",
    "dateUpdated": "2026-10-30T12:39:47.351Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…