From d58358a41d1930f93f80ff42343c90a4a16c50a0 Mon Sep 17 00:00:00 2001 From: Kris Van Hees Date: Mon, 19 Aug 2013 14:07:13 -0400 Subject: [PATCH] dtrace: Ensure that task_struct members are initialized correctly 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 --- kernel/dtrace/dtrace_os.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/dtrace/dtrace_os.c b/kernel/dtrace/dtrace_os.c index 221aa3893330..bee4c551a5db 100644 --- a/kernel/dtrace/dtrace_os.c +++ b/kernel/dtrace/dtrace_os.c @@ -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) -- 2.50.1