From bd95ac61268acbf76e63af7dbd045968faf1a2e4 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Sun, 27 Jan 2013 18:36:24 +0100 Subject: [PATCH] --- yaml --- r: 350099 b: refs/heads/master c: 4161824f18ff4f56f46595a4016c7315dd0d24f1 h: refs/heads/master i: 350097: f899ce7c578f3cfd5dabda17c10b471576a70106 350095: c9ec5bf127874b0e8c633488caebeb85593d4fac v: v3 --- [refs] | 2 +- trunk/kernel/trace/trace_uprobe.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 5999264658f5..63795f9feda4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 84d7ed799fd6c1366547d88ddb8188c65de3b94f +refs/heads/master: 4161824f18ff4f56f46595a4016c7315dd0d24f1 diff --git a/trunk/kernel/trace/trace_uprobe.c b/trunk/kernel/trace/trace_uprobe.c index 06c22bad776a..15b8eceeddc5 100644 --- a/trunk/kernel/trace/trace_uprobe.c +++ b/trunk/kernel/trace/trace_uprobe.c @@ -552,17 +552,18 @@ static int probe_event_enable(struct trace_uprobe *tu, int flag) return -EINTR; utc->cons.handler = uprobe_dispatcher; + utc->tu = tu; + tu->consumer = utc; + tu->flags |= flag; + ret = uprobe_register(tu->inode, tu->offset, &utc->cons); if (ret) { + tu->consumer = NULL; + tu->flags &= ~flag; kfree(utc); - return ret; } - tu->flags |= flag; - utc->tu = tu; - tu->consumer = utc; - - return 0; + return ret; } static void probe_event_disable(struct trace_uprobe *tu, int flag)