Description
In the Linux kernel, the following vulnerability has been resolved: mm/damon/sysfs: dealloc repeat_call_control if damon_call() fails damon_call() for repeat_call_control of DAMON_SYSFS could fail if somehow the kdamond is stopped before the damon_call(). It could happen, for example, when te damon context was made for monitroing of a virtual address processes, and the process is terminated immediately, before the damon_call() invocation. In the case, the dyanmically allocated repeat_call_control is not deallocated and leaked. Fix the leak by deallocating the repeat_call_control under the damon_call() failure. This issue is discovered by sashiko [1].
Product status
04a06b139ec08aa63d7377f6d3e5218f8ddb1c5d (git) before b9dadf026a9fb681ed32a0646adc10ab485bf3b1
04a06b139ec08aa63d7377f6d3e5218f8ddb1c5d (git) before 0655f5cf1735508394ef8af98ddcfab3ac1c1cc5
04a06b139ec08aa63d7377f6d3e5218f8ddb1c5d (git) before 0199390a6b92fc21860e1b858abf525c7e73b956
6.17
Any version before 6.17
6.18.23 (semver)
6.19.13 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/b9dadf026a9fb681ed32a0646adc10ab485bf3b1
git.kernel.org/...c/0655f5cf1735508394ef8af98ddcfab3ac1c1cc5
git.kernel.org/...c/0199390a6b92fc21860e1b858abf525c7e73b956