mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-02 09:16:41 +09:00
memcg: free spare array to avoid memory leak
commit 8c7577637c upstream.
When the last event is unregistered, there is no need to keep the spare
array anymore. So free it to avoid memory leak.
Signed-off-by: Sha Zhengju <handai.szj@taobao.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reviewed-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
19165bdbb3
commit
37de6be49f
@@ -4605,6 +4605,12 @@ static void mem_cgroup_usage_unregister_event(struct cgroup *cgrp,
|
||||
swap_buffers:
|
||||
/* Swap primary and spare array */
|
||||
thresholds->spare = thresholds->primary;
|
||||
/* If all events are unregistered, free the spare array */
|
||||
if (!new) {
|
||||
kfree(thresholds->spare);
|
||||
thresholds->spare = NULL;
|
||||
}
|
||||
|
||||
rcu_assign_pointer(thresholds->primary, new);
|
||||
|
||||
/* To be sure that nobody uses thresholds */
|
||||
|
||||
Reference in New Issue
Block a user