From df4cea89d9e13e810f5fffa6a9bf32345c7a4bf4 Mon Sep 17 00:00:00 2001 From: Vyacheslav Cherkashin Date: Tue, 18 Jun 2013 11:08:58 +0400 Subject: [REFACTOR] redesign ret_handler_cp() --- us_manager/helper.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'us_manager/helper.c') diff --git a/us_manager/helper.c b/us_manager/helper.c index d2b8590b..62ebc7fa 100644 --- a/us_manager/helper.c +++ b/us_manager/helper.c @@ -118,20 +118,17 @@ static int ret_handler_cp(struct kretprobe_instance *ri, struct pt_regs *regs) { struct task_struct *task = (struct task_struct *)regs_return_value(regs); - return 0; - if(!task || IS_ERR(task)) goto out; if(task->mm != current->mm) { /* check flags CLONE_VM */ rm_uprobes_child(task); - if (check_task(current)) { - struct sspt_proc *proc; - - proc = sspt_proc_create(task); - sspt_proc_install(proc); - } + /* + * Ignoring page_addr, because it is + * first calling call_page_fault() + */ + call_page_fault(task, 0xbadc0de); } out: return 0; -- cgit v1.2.3