]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
dtrace: Ensure that task_struct members are initialized correctly
authorKris Van Hees <kris.van.hees@oracle.com>
Mon, 19 Aug 2013 18:07:13 +0000 (14:07 -0400)
committerNick Alcock <nick.alcock@oracle.com>
Tue, 21 Jul 2015 14:29:12 +0000 (15:29 +0100)
Due to an initialization issue with current->predcache, it was possible for the
predicate on a probe to never be evaluated because the dtrace_probe() code was
incorrectly assuming that there was a valid predicate cache result.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
kernel/dtrace/dtrace_os.c

index 221aa3893330b4c70850d3acfbe0efd0349dce19..bee4c551a5dba91762da856331ec790d0abcb313 100644 (file)
@@ -977,8 +977,15 @@ EXPORT_SYMBOL(dtrace_tracepoint_hit);
 
 void dtrace_task_init(struct task_struct *tsk)
 {
+       tsk->predcache = 0;
+       tsk->dtrace_vtime = ktime_set(0, 0);
+       tsk->dtrace_start = ktime_set(0, 0);
+       tsk->dtrace_stop = 0;
+       tsk->dtrace_sig = 0;
+
        tsk->dtrace_helpers = NULL;
        tsk->dtrace_probes = 0;
+       tsk->dtrace_tp_count = 0;
 }
 
 void dtrace_task_cleanup(struct task_struct *tsk)