CVE-2022-50269

drm/vkms: Fix memory leak in vkms_init()

State
Published
Severity
Not scored
Published
Sep 15, 2025
Updated
May 11, 2026
Reserved
Sep 15, 2025

Read the record on cve.org

Description

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

drm/vkms: Fix memory leak in vkms_init()

A memory leak was reported after the vkms module install failed.

unreferenced object 0xffff88810bc28520 (size 16): comm "modprobe", pid 9662, jiffies 4298009455 (age 42.590s) hex dump (first 16 bytes): 01 01 00 64 81 88 ff ff 00 00 dc 0a 81 88 ff ff ...d............ backtrace: [<00000000e7561ff8>] kmalloc_trace+0x27/0x60 [<000000000b1954a0>] 0xffffffffc45200a9 [<00000000abbf1da0>] do_one_initcall+0xd0/0x4f0 [<000000001505ee87>] do_init_module+0x1a4/0x680 [<00000000958079ad>] load_module+0x6249/0x7110 [<00000000117e4696>] __do_sys_finit_module+0x140/0x200 [<00000000f74b12d2>] do_syscall_64+0x35/0x80 [<000000008fc6fcde>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

The reason is that the vkms_init() returns without checking the return value of vkms_create(), and if the vkms_create() failed, the config allocated at the beginning of vkms_init() is leaked.

vkms_init() config = kmalloc(...) # config allocated ... return vkms_create() # vkms_create failed and config is leaked

Fix this problem by checking return value of vkms_create() and free the config if error happened.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2df7af93fdadb9ba8226fe443fae15ecdefda2a6 to before bad13de764888b765ceaa4668893b52bd16653ccAffected
  • 2df7af93fdadb9ba8226fe443fae15ecdefda2a6 to before bebd60ec3bf21062f103e32e6203c6daabdbd51bAffected
  • 2df7af93fdadb9ba8226fe443fae15ecdefda2a6 to before 07ab77154d6fd2d67e465ab5ce30083709950f02Affected
  • 2df7af93fdadb9ba8226fe443fae15ecdefda2a6 to before 0d0b368b9d104b437e1f4850ae94bdb9a3601e89Affected
LinuxLinux
  • 5.12Affected
  • before 5.12Not affected
  • 5.15.99 through 5.15.*Not affected
  • 6.1.16 through 6.1.*Not affected
  • 6.2.3 through 6.2.*Not affected
  • 6.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.