CVE-2022-50545: r6040: Fix kmemleak in probe and remove

Published Oct 7, 2025
·
Updated

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

r6040: Fix kmemleak in probe and remove

There is a memory leaks reported by kmemleak:

unreferenced object 0xffff888116111000 (size 2048): comm "modprobe", pid 817, jiffies 4294759745 (age 76.502s) hex dump (first 32 bytes): 00 c4 0a 04 81 88 ff ff 08 10 11 16 81 88 ff ff ................ 08 10 11 16 81 88 ff ff 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff815bcd82>] kmalloctrace+0x22/0x60 [<ffffffff827e20ee>] phydevicecreate+0x4e/0x90 [<ffffffff827e6072>] getphydevice+0xd2/0x220 [<ffffffff827e7844>] mdiobusscan+0xa4/0x2e0 [<ffffffff827e8be2>] mdiobusregister+0x482/0x8b0 [<ffffffffa01f5d24>] r6040initone+0x714/0xd2c [r6040] ...

The problem occurs in probe process as follows: r6040initone: mdiobusregister mdiobusscan <- alloc and register phydevice, the reference count of phydevice is 3 r6040miiprobe phyconnect <- connect to the first phydevice, so the reference count of the first phydevice is 4, others are 3 registernetdev <- fault inject succeeded, goto error handling path

// error handling path erroutmdiounregister: mdiobusunregister(lp->miibus); erroutmdio: mdiobusfree(lp->miibus); <- the reference count of the first phydevice is 1, it is not released and other phydevices are released // similarly, the remove process also has the same problem

The root cause is traced to the phydevice is not disconnected when removes one r6040 device in r6040removeone() or on error handling path after r6040mii probed successfully. In r6040miiprobe(), a net ethernet device is connected to the first PHY device of miibus, in order to notify the connected driver when the link status changes, which is the default behavior of the PHY infrastructure to handle everything. Therefore the phydevice should be disconnected when removes one r6040 device or on error handling path.

Fix it by adding phydisconnect() when removes one r6040 device or on error handling path after r6040mii probed successfully.

Affected Software

9 affected components
Linux Kernel
Linux Linux kernel>=2.6.36<4.9.337
Linux Linux kernel>=4.10<4.14.303
Linux Linux kernel>=4.15<4.19.270
Linux Linux kernel>=4.20<5.4.229
Linux Linux kernel>=5.5<5.10.163
Linux Linux kernel>=5.11<5.15.86
Linux Linux kernel>=5.16<6.0.16
Linux Linux kernel>=6.1<6.1.2

Event History

Oct 7, 2025
CVE Published
via MITRE·03:21 PM
Data Sourced
via MITRE·03:21 PM
Description
Data Sourced
via NVD·04:15 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2022-50545?

CVE-2022-50545 has a medium severity rating due to the potential for memory leaks in the Linux kernel.

2

How do I fix CVE-2022-50545?

To fix CVE-2022-50545, ensure that your Linux kernel is updated to the latest version where this vulnerability has been patched.

3

What components are affected by CVE-2022-50545?

CVE-2022-50545 affects the Linux kernel, specifically in relation to kmemleak functionality.

4

What type of vulnerability is CVE-2022-50545?

CVE-2022-50545 is a memory leak vulnerability identified in the Linux kernel.

5

Can CVE-2022-50545 be exploited remotely?

CVE-2022-50545 is not designed to be exploited remotely as it involves kernel memory management during local operations.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203