summaryrefslogtreecommitdiff
path: root/us_manager/helper.c
diff options
context:
space:
mode:
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>2013-06-18 11:08:58 +0400
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>2013-06-18 11:08:58 +0400
commitdf4cea89d9e13e810f5fffa6a9bf32345c7a4bf4 (patch)
treed2053fe5e732653c59ddd834dc2ca0b39d444514 /us_manager/helper.c
parent8cb77c42fba70f8de76b9fe6d24367fb3d88fd57 (diff)
downloadswap-modules-df4cea89d9e13e810f5fffa6a9bf32345c7a4bf4.tar.gz
swap-modules-df4cea89d9e13e810f5fffa6a9bf32345c7a4bf4.tar.bz2
swap-modules-df4cea89d9e13e810f5fffa6a9bf32345c7a4bf4.zip
[REFACTOR] redesign ret_handler_cp()
Diffstat (limited to 'us_manager/helper.c')
-rw-r--r--us_manager/helper.c13
1 files changed, 5 insertions, 8 deletions
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;