---
id: CVE-2026-98948
title: 'mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()

  mlxsw_sp_flower_tmplt_create() parses a flow_cls_offload template
  into a stack-local struct mlxs…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db <
    41ad5bcf0219aaebf8ffb052c5e8177479330cde
  - >-
    Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db <
    c8e934287debb29c6ded86b21e49fc72e186d15e
  - >-
    Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db <
    3938430f0237c59ca08d6a366e7657b2b7f8d0bb
  - >-
    Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db <
    4eaf1285b5c1e42f80e47f9fe0d391e70418db02
  - >-
    Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db <
    7ea07afb230f1342ab0f9365edd0aae137f425d3
  - Linux 6.6
published: '2026-10-23'
updated: '2026-10-23'
sourceUpdated: '2026-10-23T12:19:08.043Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98948'
references:
  - url: 'https://git.kernel.org/stable/c/41ad5bcf0219aaebf8ffb052c5e8177479330cde'
  - url: 'https://git.kernel.org/stable/c/c8e934287debb29c6ded86b21e49fc72e186d15e'
  - url: 'https://git.kernel.org/stable/c/3938430f0237c59ca08d6a366e7657b2b7f8d0bb'
  - url: 'https://git.kernel.org/stable/c/4eaf1285b5c1e42f80e47f9fe0d391e70418db02'
  - url: 'https://git.kernel.org/stable/c/7ea07afb230f1342ab0f9365edd0aae137f425d3'
tags:
  - cve.org
ingestedAt: '2026-10-23T13:24:55.559Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()

mlxsw_sp_flower_tmplt_create() parses a flow_cls_offload template
into a stack-local struct mlxsw_sp_acl_rule_info purely to compute
rulei.values.elusage. Parsing can acquire port range registers via
mlxsw_sp_flower_parse_ports_range(), but since this rulei never goes
through mlxsw_sp_acl_rulei_destroy(), those registers were never
released, including through chain template deletion.

Factor out of mlxsw_sp_acl_rulei_destroy() the code to actually
release the necessary resources and call from
mlxsw_sp_flower_tmplt_create() to plug the leak.

The issue was found during a review of Wentao Liang's patch referenced
below.

## Affected

- `Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db < 41ad5bcf0219aaebf8ffb052c5e8177479330cde`
- `Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db < c8e934287debb29c6ded86b21e49fc72e186d15e`
- `Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db < 3938430f0237c59ca08d6a366e7657b2b7f8d0bb`
- `Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db < 4eaf1285b5c1e42f80e47f9fe0d391e70418db02`
- `Linux >= fe22f7410527c2077223b5fd0fc0458db912f0db < 7ea07afb230f1342ab0f9365edd0aae137f425d3`
- `Linux 6.6`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
