CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's memory management subsystem, specifically in the `damon_sysfs_scheme_add_dirs()` function, where improper handling of directory references can lead to memory leaks and potential dereferencing of uninitialized memory. This flaw could result in system instability or crashes if the setup of the tried_regions directory fails, which, while not common, poses a significant risk. Organizations using affected Linux kernel versions should prioritize patching this vulnerability to maintain system integrity and prevent potential exploitation.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: mm/damon/sysfs-schemes: put stats for scheme_add_dirs() internal error damon_sysfs_scheme_add_dirs() setup the tried_regions directory after the stats directory setup is completed. When the tried_regions directory setup is failed, the setup function ensures the reference for the tried regions directory is released. Hence the error path should put references on setup succeeded directory objects, starting from the stats directory. However, the error path is putting the tried_regions directory instead of the stats directory. As a direct result, the stats directory object is leaked. Worse yet, if the tried_regions directory setup failed from the initial allocation, the scheme->tried_regions field remains uninitialized. The following kobject_put(&scheme->tried_regions->kobj) call in the error path will dereference the uninitialized memory. The setup failures should not be common. But once it happens, the consequence is quite bad. Fix this issue by correctly putting the stats directory instead of the tried_regions directory. The issue was discovered [1] by Sashiko.