From: "Suzuki K. Poulose" <suzuki@in.ibm.com>
To: David Ahern <dsahern@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
ananth@in.ibm.com, Ingo Molnar <mingo@kernel.org>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: Re: [PATCH] [perf] Remove the node from rblist in strlist__remove
Date: Wed, 29 Aug 2012 12:09:33 +0530 [thread overview]
Message-ID: <503DB925.4040809@in.ibm.com> (raw)
In-Reply-To: <503DB6CD.4070502@gmail.com>
On 08/29/2012 11:59 AM, David Ahern wrote:
> On 8/29/12 12:00 AM, Suzuki K. Poulose wrote:
>> The following commit:
>>
>> author David Ahern <dsahern@gmail.com>
>> Tue, 31 Jul 2012 04:31:33 +0000 (22:31 -0600)
>> committer Arnaldo Carvalho de Melo <acme@redhat.com>
>> Fri, 3 Aug 2012 13:39:51 +0000 (10:39 -0300)
>> commit ee8dd3ca43f151d9fbe1edeef68fb8a77eb9f047
>>
>> causes a double free during a probe deletion as the node is
>> never removed from the list via strlist__remove(), even though
>> it gets 'deleted' (read free()'d). This causes a double
>> free when we do strlist__delete() as the node is already deleted
>> but present in the rblist.
>>
>> [suzukikp@suzukikp perf]$ sudo ./perf probe -a do_fork
>> Added new event:
>> probe:do_fork (on do_fork)
>>
>> You can now use it in all perf tools, such as:
>>
>> perf record -e probe:do_fork -aR sleep 1
>>
>> [suzukikp@suzukikp perf]$ sudo ./perf probe -d do_fork
>> Removed event: probe:do_fork
>> *** glibc detected *** ./perf: double free or corruption (fasttop):
>> 0x000000000133d600 ***
>> ======= Backtrace: =========
>> /lib64/libc.so.6[0x38eec7dda6]
>> ./perf(rblist__delete+0x5c)[0x47d3dc]
>> ./perf(del_perf_probe_events+0xb6)[0x47b826]
>> ./perf(cmd_probe+0x471)[0x42c8d1]
>> ./perf[0x4150b3]
>> ./perf(main+0x501)[0x4148e1]
>> /lib64/libc.so.6(__libc_start_main+0xed)[0x38eec2169d]
>> ./perf[0x414a61]
>>
>>
>> Make sure we remove the node from the rblist before we delete the
>> node. The rblist__remove_node() will invoke rblist->node_delete,
>> which will take care of deleting the node with the suitable function
>> provided by the user.
>>
>> Reported-by: Ananth N. Mavinakayanahalli <ananth@in.ibm.com>
>> Signed-off-by: Suzuki K. Poulose <suzuki@in.ibm.com>
>> Cc: David Ahern <dsahern@gmail.com>
>> Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
>
> Acked-by: David Ahern <dsahern@gmail.com>
>
> Same type of change is needed for util/intlist.c if you want to submit
> one, otherwise I will take care of it.
I can send it.
Thanks
Suzuki
next prev parent reply other threads:[~2012-08-29 6:40 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-29 6:00 [PATCH] [perf] Remove the node from rblist in strlist__remove Suzuki K. Poulose
2012-08-29 6:29 ` David Ahern
2012-08-29 6:39 ` Suzuki K. Poulose [this message]
2012-08-31 6:58 ` [PATCH] [perf] Fix intlist node removal Suzuki K. Poulose
2012-08-31 16:10 ` David Ahern
2012-09-07 6:03 ` [tip:perf/core] perf tools: " tip-bot for Suzuki K. Poulose
2012-09-07 6:04 ` [tip:perf/core] perf tools: Remove the node from rblist in strlist__remove tip-bot for Suzuki K. Poulose
2012-11-03 20:07 ` Hannes Frederic Sowa
2012-11-05 15:04 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=503DB925.4040809@in.ibm.com \
--to=suzuki@in.ibm.com \
--cc=acme@infradead.org \
--cc=acme@redhat.com \
--cc=ananth@in.ibm.com \
--cc=dsahern@gmail.com \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.