CVE-2022-49926 Details
Description
In the Linux kernel, the following vulnerability has been resolved: net: dsa: Fix possible memory leaks in dsa_loop_init() kmemleak reported memory leaks in dsa_loop_init(): kmemleak: 12 new suspected memory leaks unreferenced object 0xffff8880138ce000 (size 2048): comm "modprobe", pid 390, jiffies 4295040478 (age 238.976s) backtrace: [<000000006a94f1d5>] kmalloc_trace+0x26/0x60 [<00000000a9c44622>] phy_device_create+0x5d/0x970 [<00000000d0ee2afc>] get_phy_device+0xf3/0x2b0 [<00000000dca0c71f>] __fixed_phy_register.part.0+0x92/0x4e0 [<000000008a834798>] fixed_phy_register+0x84/0xb0 [<0000000055223fcb>] dsa_loop_init+0xa9/0x116 [dsa_loop] ... There are two reasons for memleak in dsa_loop_init(). First, fixed_phy_register() create and register phy_device: fixed_phy_register() get_phy_device() phy_device_create() # freed by phy_device_free() phy_device_register() # freed by phy_device_remove() But fixed_phy_unregister() only calls phy_device_remove(). So the memory allocated in phy_device_create() is leaked. Second, when mdio_driver_register() fail in dsa_loop_init(), it just returns and there is no cleanup for phydevs. Fix the problems by catching the error of mdio_driver_register() in dsa_loop_init(), then calling both fixed_phy_unregister() and phy_device_free() to release phydevs. Also add a function for phydevs cleanup to avoid duplacate.
A memory leak vulnerability has been identified in the Linux kernel's DSA (Distributed Switch Architecture) loop initialization function. This issue arises because the function improperly manages the lifecycle of certain PHY (physical layer) devices. Specifically, when the initialization process encounters an error, it fails to clean up allocated resources, leading to unreferenced objects and memory leaks. The vulnerability was highlighted by the kernel's memory management tracking system, which reported several suspected leaks associated with the DSA loop initialization.
The vulnerability has been addressed in the official Linux kernel repository. Users should upgrade to the latest version of the Linux kernel where this issue has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Oct 1, 2025References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/37a098fc9b42bd7fce66764866aa514639667b6e | kernel.org | Patch |
| https://git.kernel.org/stable/c/4d2024b138d9f7b02ae13ee997fd3a71e9e46254 | kernel.org | Patch |
| https://git.kernel.org/stable/c/633efc8b3dc96f56f5a57f2a49764853a2fa3f50 | kernel.org | Patch |
| https://git.kernel.org/stable/c/935b4beb724946a37cebf97191592d4879d3a3a3 | kernel.org | Patch |
| https://git.kernel.org/stable/c/9f555b1584fc2d5d16ee3c4d9438e93ac7c502c7 | kernel.org | Patch |
| https://git.kernel.org/stable/c/bbc5d7b46a729bfcbb5544f6612b7a67dd4f4d6f | kernel.org | Patch |
| https://git.kernel.org/stable/c/d593e1ede655b74c42e4e4fe285ea64aee96fb5c | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-401 | Missing Release of Memory after Effective Lifetime | [email protected] |
| CWE-401 | Missing Release of Memory after Effective Lifetime | CISA-ADP |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 4.12, < 4.14.299 >= 4.15, < 4.19.265 >= 4.20, < 5.4.224 >= 5.5, < 5.10.154 >= 5.11, < 5.15.78 >= 5.16, < 6.0.8 6.1 rc1 6.1 rc2 6.1 rc3 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Oct 1, 2025 | CVE Modified | CISA-ADP |
| May 7, 2025 | Initial Analysis | [email protected] |
| May 1, 2025 | New CVE Received | kernel.org |