On Tue, May 06, 2014 at 05:26:18PM +0200, Jean Pihet wrote:
SNIP
diff --git a/tools/perf/arch/arm/tests/dwarf-unwind.c b/tools/perf/arch/arm/tests/dwarf-unwind.c new file mode 100644 index 0000000..d618f5f --- /dev/null +++ b/tools/perf/arch/arm/tests/dwarf-unwind.c @@ -0,0 +1,59 @@ +#include <string.h> +#include "perf_regs.h" +#include "thread.h" +#include "map.h" +#include "event.h" +#include "tests/tests.h"
+#define STACK_SIZE 8192
+static int sample_ustack(struct perf_sample *sample,
struct thread *thread, u64 *regs)
+{
- struct stack_dump *stack = &sample->user_stack;
- struct map *map;
- unsigned long sp;
- u64 stack_size, *buf;
- buf = malloc(STACK_SIZE);
- if (!buf) {
pr_debug("failed to allocate sample uregs data\n");
return -1;
- }
- sp = (unsigned long) regs[PERF_REG_ARM_SP];
- map = map_groups__find(&thread->mg, MAP__FUNCTION, (u64) sp);
- if (!map) {
pr_debug("failed to get stack map\n");
return -1;
- }
there's a memory leak of 'buf' already fixed fox x86:
perf tests x86: Fix memory leak in sample_ustack() commit 763d7f5f2718f085bab5a9e63308349728f3ad12 Author: Masanari Iida standby24x7@gmail.com Date: Sun Apr 20 00:16:41 2014 +0900
jirka