net/sched: act_api: release all action references on NEWACTION failure
Published Sep 25, 2026
No CVSS score
EPSS 0.20%
Description
When a batched RTM_NEWACTION request replaces an existing action, tcf_idr_check_alloc() takes a temporary reference on it. If a later action fails to initialize, tcf_action_destroy() uses strict release semantics to clean up the actions initialized so far. For an action bound to a filter, the strict check returns -EPERM without dropping the temporary reference.
This error also makes tcf_action_destroy() return before releasing subsequent entries. Any new action initialized between the bound action and the failing entry is leaked together with its reserved IDR slot, preventing reuse of its index.
Use tcf_idr_release() to drop each reference held by the batch without rejecting bound actions. This allows cleanup to continue through all initialized entries and preserves the module reference release when an action is destroyed. Explicit action deletion and flushing retain their separate bind-count checks.
Affected products
-
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version
-
- Version 3.15StatusaffectedConstraints-
- Version 0StatusunaffectedConstraints<3.15
- Version 6.12.111StatusunaffectedConstraints<=6.12.*
- Version 6.18.53StatusunaffectedConstraints<=6.18.*
- Version 7.2.7StatusunaffectedConstraints<=7.2.*
- Version 7.3-rc3StatusunaffectedConstraints<=*
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
No data.
No data.
No Red Hat product state for this CVE.
No package ranges for this CVE.
Remediation
No remediation recorded yet.
No CWE recorded.
References (5)
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-86747 Advisory
- https://git.kernel.org/stable/c/048617743febf6530111cfb594e9bbbd7918bf67
- https://git.kernel.org/stable/c/478eb5abb51931a152abab068f8a717b7ff480fd
- https://git.kernel.org/stable/c/64b36eaef6ea5ada9aea4c2cf87099aaa8a4869b
- https://git.kernel.org/stable/c/f908c8a969946a45225fd7f9d9a85771e12ae0a8
Change history (0)
No recorded changes yet.