All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] memory leaks triggered by perf --namespace
@ 2017-11-15  5:47 Vasily Averin
  2017-11-15  8:51 ` [tip:perf/urgent] perf/core: Fix memory leak " tip-bot for Vasily Averin
  2017-11-29  6:15 ` tip-bot for Vasily Averin
  0 siblings, 2 replies; 3+ messages in thread
From: Vasily Averin @ 2017-11-15  5:47 UTC (permalink / raw)
  To: linux-kernel, Hari Bathini, Alexander Shishkin
  Cc: Namhyung Kim, Jiri Olsa, Arnaldo Carvalho de Melo, Ingo Molnar,
	Peter Zijlstra

perf with --namespace key leaks various memory objects including namespaces

# uname -r
4.14.0+
# perf record  -q  --namespace unshare -n -U  -p --fork true
# grep namespace /proc/slabinfo
pid_namespace          1     12   2568   12    8 
user_namespace         1     39    824   39    8 
net_namespace          1      5   6272    5    8 

This happen because perf_fill_ns_link_info() struct patch ns_path:
during initialization ns_path incremented counters on related mnt and dentry,
but without lost path_put nobody decremented them back.
Leaked dentry is name of related namespace,
and its leak does not allow to free unused namespace.

Fixes: commit e422267322cd ("perf: Add PERF_RECORD_NAMESPACES to include namespaces related info")
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
---
 kernel/events/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index 10cdb9c..ab5ac84 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6756,6 +6756,7 @@ static void perf_fill_ns_link_info(struct perf_ns_link_info *ns_link_info,
 		ns_inode = ns_path.dentry->d_inode;
 		ns_link_info->dev = new_encode_dev(ns_inode->i_sb->s_dev);
 		ns_link_info->ino = ns_inode->i_ino;
+		path_put(&ns_path);
 	}
 }
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-11-29  6:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-15  5:47 [PATCH] memory leaks triggered by perf --namespace Vasily Averin
2017-11-15  8:51 ` [tip:perf/urgent] perf/core: Fix memory leak " tip-bot for Vasily Averin
2017-11-29  6:15 ` tip-bot for Vasily Averin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.