mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-24 09:13:20 -05:00
This contains two fixes.
The first is to remove a duplication of creating debugfs files that already exist and causes an error report to be printed due to the failure of the second creation. The second is a memory leak fix that was introduced in 3.14. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJTUGZwAAoJEKQekfcNnQGu7W8IAIAMBVfrWdP6cmGle4tGfhVE sHcwqTH+07oANQJ3eFwFs5wBMb08s3hXwUHUxXcpjyq2Bs+AHr0vSL/nqCG4k8Ap 2T4ntL7esC1BWKw2lVVVYD12FiL7grUXVlx/q0WE2NuhCzWzNRTyb8sKrPoCRUEB 3o5rAt9+45PKUb2k/eqGBGhK8b4XDz2Wtk5Gj6YB3xttse/yjjcuw0gWMHN1JWfm eRuQUUBDDGUGkfF98k1aLrjPZooT3LIAV8L8md5C3ebEcXSC/h86hTYCGXv3oBDO 8sxcT0zoQcLuFhjkYLL1J1lBW6gxaVh052jYmQwMppQMos+WID2un2E92Ccg49E= =BwLF -----END PGP SIGNATURE----- Merge tag 'trace-fixes-v3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "This contains two fixes. The first is to remove a duplication of creating debugfs files that already exist and causes an error report to be printed due to the failure of the second creation. The second is a memory leak fix that was introduced in 3.14" * tag 'trace-fixes-v3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing/uprobes: Fix uprobe_cpu_buffer memory leak tracing: Do not try to recreated toplevel set_ftrace_* files
This commit is contained in:
commit
7d77879bfd
2 changed files with 16 additions and 6 deletions
|
@ -58,12 +58,16 @@ int ftrace_create_function_files(struct trace_array *tr,
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* The top level array uses the "global_ops". */
|
/*
|
||||||
if (!(tr->flags & TRACE_ARRAY_FL_GLOBAL)) {
|
* The top level array uses the "global_ops", and the files are
|
||||||
ret = allocate_ftrace_ops(tr);
|
* created on boot up.
|
||||||
if (ret)
|
*/
|
||||||
return ret;
|
if (tr->flags & TRACE_ARRAY_FL_GLOBAL)
|
||||||
}
|
return 0;
|
||||||
|
|
||||||
|
ret = allocate_ftrace_ops(tr);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ftrace_create_filter_files(tr->ops, parent);
|
ftrace_create_filter_files(tr->ops, parent);
|
||||||
|
|
||||||
|
|
|
@ -732,9 +732,15 @@ static int uprobe_buffer_enable(void)
|
||||||
|
|
||||||
static void uprobe_buffer_disable(void)
|
static void uprobe_buffer_disable(void)
|
||||||
{
|
{
|
||||||
|
int cpu;
|
||||||
|
|
||||||
BUG_ON(!mutex_is_locked(&event_mutex));
|
BUG_ON(!mutex_is_locked(&event_mutex));
|
||||||
|
|
||||||
if (--uprobe_buffer_refcnt == 0) {
|
if (--uprobe_buffer_refcnt == 0) {
|
||||||
|
for_each_possible_cpu(cpu)
|
||||||
|
free_page((unsigned long)per_cpu_ptr(uprobe_cpu_buffer,
|
||||||
|
cpu)->buf);
|
||||||
|
|
||||||
free_percpu(uprobe_cpu_buffer);
|
free_percpu(uprobe_cpu_buffer);
|
||||||
uprobe_cpu_buffer = NULL;
|
uprobe_cpu_buffer = NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue