Signed-off-by: Frederic Weisbecker <fwei...@gmail.com>
---
kernel/tracepoint.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index f2b7c28..af8c856 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -131,6 +131,9 @@ tracepoint_entry_remove_probe(struct tracepoint_entry *entry, void *probe)
old = entry->funcs;
+ if (!old)
+ return NULL;
+
debug_print_probes(entry);
/* (N -> M), (N > 1, M >= 0) probes */
for (nr_probes = 0; old[nr_probes]; nr_probes++) {
@@ -388,6 +391,11 @@ int tracepoint_probe_unregister(const char *name, void *probe)
if (entry->rcu_pending)
rcu_barrier_sched();
old = tracepoint_entry_remove_probe(entry, probe);
+ if (!old) {
+ printk(KERN_WARNING "Warning: Trying to unregister a probe"
+ "that doesn't exist\n");
+ goto end;
+ }
mutex_unlock(&tracepoints_mutex);
tracepoint_update_probes(); /* may update entry */
mutex_lock(&tracepoints_mutex);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
> If we try to remove a probe that has not been already registered, the
> tracepoint_entry_remove_probe() function will dereference a NULL
> pointer. Check the probe before removing it to avoid crashes.
>
> Signed-off-by: Frederic Weisbecker <fwei...@gmail.com>
> ---
> kernel/tracepoint.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
applied to tip/tracing/tracepoints, thanks Frederic!
Mathieu, Steve, any objections/observations?
Ingo
Looks good to me. Thanks !
Acked-by: Mathieu Desnoyers <mathieu....@polymtl.ca>
Mathieu
> Ingo
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
OK, found it at
http://groups.google.com/group/linux.kernel/browse_thread/thread/9519141803211fee/70a273bb6a1ea602?lnk=raot
Looks good for me too.
Acked-by: Steven Rostedt <sros...@redhat.com>
-- Steve
>
> * Frederic Weisbecker <fwei...@gmail.com> wrote:
>
> > If we try to remove a probe that has not been already registered, the
> > tracepoint_entry_remove_probe() function will dereference a NULL
> > pointer. Check the probe before removing it to avoid crashes.
> >
> > Signed-off-by: Frederic Weisbecker <fwei...@gmail.com>
> > ---
> > kernel/tracepoint.c | 8 ++++++++
> > 1 files changed, 8 insertions(+), 0 deletions(-)
>
> applied to tip/tracing/tracepoints, thanks Frederic!
>
> Mathieu, Steve, any objections/observations?
Hmm, my email was on the fritz for this one. I'll have to search for it on
a mailing list web site to see the patch.
-- Steve
Hi Ingo.
Are you sure it has been applied? It seems to be lost in the sea :)
Thanks....
> 2008/10/10 Ingo Molnar <mi...@elte.hu>:
> > applied to tip/tracing/tracepoints, thanks Frederic!
>
> Hi Ingo.
>
> Are you sure it has been applied? It seems to be lost in the sea :)
>
> Thanks....
should be this one:
f66af45: tracepoint: check if the probe has been registered
Ingo