memcg: free spare array to avoid memory leak
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>
This commit is contained in:
Родитель
5e2bf01422
Коммит
8c7577637c
|
@ -4507,6 +4507,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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче