{
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;
struct pf_group *pfg;
list_for_each_entry(pfg, &pfg_list, list) {
+ /* FIXME: install page more then once */
install_page_by_pfg(pfg, task, page_addr);
}
}