Commit a76a5ae2 authored by Ran Xiaokai's avatar Ran Xiaokai Committed by Andrew Morton
Browse files

mm/page_owner: fix memory leak in page_owner_stack_fops->release()

The page_owner_stack_fops->open() callback invokes seq_open_private(),
therefore its corresponding ->release() callback must call
seq_release_private().  Otherwise it will cause a memory leak of struct
stack_print_ctx.

Link: https://lkml.kernel.org/r/20251219074232.136482-1-ranxiaokai627@163.com


Fixes: 765973a0 ("mm,page_owner: display all stacks and their count")
Signed-off-by: default avatarRan Xiaokai <ran.xiaokai@zte.com.cn>
Acked-by: default avatarMichal Hocko <mhocko@suse.com>
Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Brendan Jackman <jackmanb@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Marco Elver <elver@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Zi Yan <ziy@nvidia.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 077d925b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -952,7 +952,7 @@ static const struct file_operations page_owner_stack_fops = {
	.open		= page_owner_stack_open,
	.read		= seq_read,
	.llseek		= seq_lseek,
	.release	= seq_release,
	.release	= seq_release_private,
};

static int page_owner_threshold_get(void *data, u64 *val)