Skip to content
Heist/ feed
Back to feed
Unrated

net: microchip: sparx5: clean up PSFP resources on flower setup failure

Type: advisorySources: Official CVE List

In the Linux kernel, the following vulnerability has been resolved: net: microchip: sparx5: clean up PSFP resources on flower setup failure sparx5_tc_flower_psfp_setup() allocates PSFP stream gate, flow meter and stream filter resources before adding VCAP actions. If a later step fails, the resources allocated earlier in the function are not unwound. Add error paths to release the stream filter, flow meter and stream gate when setup fails after they have been acquired. Also make sparx5_psfp_fm_add() return the acquired flow-meter id before the existing-flow-meter early return. When an existing flow meter is reused, sparx5_psfp_fm_get() increments its pool reference count, but the caller previously kept psfp_fmid as 0. If a later setup step failed, the error path could try to delete flow-meter id 0 instead of the reused flow meter, leaving the incremented reference behind.

Products
Linux
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-98908
Confirmed fixed CVEs
Not specified
Updated in this feed
29 Oct 2026, 18:04 UTC · Revision 2

Source evidence

net: microchip: sparx5: clean up PSFP resources on flower setup failure

core-cve · Original source

Published 23 Oct 2026, 11:54 UTC

In the Linux kernel, the following vulnerability has been resolved: net: microchip: sparx5: clean up PSFP resources on flower setup failure sparx5_tc_flower_psfp_setup() allocates PSFP stream gate, flow meter and stream filter resources before adding VCAP actions. If a later step fails, the resources allocated earlier in the function are not unwound. Add error paths to release the stream filter, flow meter and stream gate when setup fails after they have been acquired. Also make sparx5_psfp_fm_add() return the acquired flow-meter id before the existing-flow-meter early return. When an existing flow meter is reused, sparx5_psfp_fm_get() increments its pool reference count, but the caller previously kept psfp_fmid as 0. If a later setup step failed, the error path could try to delete flow-meter id 0 instead of the reused flow meter, leaving the incremented reference behind.

cve:CVE-2026-98908

Linux

Fixed versions: Not specified

Linux

Fixed versions: Not specified

Complete source record
{
  "id": "b6c6b5f29eaae7b80bcac57c83f08f903dec74a6d8c847d9b6f7e6a9003cbf6e",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-98908",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "net: microchip: sparx5: clean up PSFP resources on flower setup failure",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: net: microchip: sparx5: clean up PSFP resources on flower setup failure sparx5_tc_flower_psfp_setup() allocates PSFP stream gate, flow meter and stream filter resources before adding VCAP actions. If a later step fails, the resources allocated earlier in the function are not unwound. Add error paths to release the stream filter, flow meter and stream gate when setup fails after they have been acquired. Also make sparx5_psfp_fm_add() return the acquired flow-meter id before the existing-flow-meter early return. When an existing flow meter is reused, sparx5_psfp_fm_get() increments its pool reference count, but the caller previously kept psfp_fmid as 0. If a later setup step failed, the error path could try to delete flow-meter id 0 instead of the reused flow meter, leaving the incremented reference behind.",
    "evidence": "cve:CVE-2026-98908",
    "products": [
      {
        "name": {
          "value": "Linux",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "Linux",
          "evidence": "/containers/cna/affected/1/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-98908",
      "aliases": [
        "CVE-2026-98908"
      ],
      "metrics": [],
      "affected": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6ebf182bfdf15bd58ebcf6760b06458694e0fad2",
              "lessThan": "a7625d408f7f0535c2b0f05d53231d6496acd48b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6ebf182bfdf15bd58ebcf6760b06458694e0fad2",
              "lessThan": "a46ea3f7ee0d3ad3d5e92043232b293be2a305d3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6ebf182bfdf15bd58ebcf6760b06458694e0fad2",
              "lessThan": "640c1bd8d359ad34817f5afec0872985e87b49ec",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6ebf182bfdf15bd58ebcf6760b06458694e0fad2",
              "lessThan": "46e50367338702abe3df661df7795bdada40fef7",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/microchip/sparx5/sparx5_psfp.c",
            "drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.3",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.111",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.53",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/microchip/sparx5/sparx5_psfp.c",
            "drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c"
          ],
          "defaultStatus": "affected"
        }
      ],
      "modified": "2026-10-26T06:56:37.786Z",
      "provider": "cve",
      "references": [
        "https://git.kernel.org/stable/c/a7625d408f7f0535c2b0f05d53231d6496acd48b",
        "https://git.kernel.org/stable/c/a46ea3f7ee0d3ad3d5e92043232b293be2a305d3",
        "https://git.kernel.org/stable/c/640c1bd8d359ad34817f5afec0872985e87b49ec",
        "https://git.kernel.org/stable/c/46e50367338702abe3df661df7795bdada40fef7"
      ],
      "provider_metadata": {
        "cna": {
          "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "shortName": "Linux",
          "dateUpdated": "2026-10-26T06:56:37.786Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-98908",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-cve",
  "document_id": 263366,
  "published_at": "2026-10-23T11:54:46.243+00:00"
}