[REFACTOR] rename find_proc_by_task()
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Tue, 7 May 2013 11:21:32 +0000 (15:21 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Tue, 7 May 2013 12:25:10 +0000 (16:25 +0400)
find_proc_by_task() --> check_dentry()

driver/helper.c
driver/us_proc_inst.c
driver/us_proc_inst.h

index 73a8ac0..0d61f9e 100644 (file)
@@ -66,9 +66,8 @@ static int ret_handler_pf(struct kretprobe_instance *ri, struct pt_regs *regs)
        } else {
                // find task
                if (us_proc_info.tgid == 0) {
-                       pid_t tgid = find_proc_by_task(task, us_proc_info.m_f_dentry);
-                       if (tgid) {
-                               us_proc_info.tgid = gl_nNotifyTgid = tgid;
+                       if (check_dentry(task, us_proc_info.m_f_dentry)) {
+                               us_proc_info.tgid = gl_nNotifyTgid = task->tgid;
                                procs = sspt_procs_get_by_task_or_new(task);
 
                                /* install probes in already mapped memory */
index a0fb86e..673eeae 100644 (file)
@@ -473,19 +473,18 @@ int uninstall_us_proc_probes(struct task_struct *task, struct sspt_procs *procs,
        return err;
 }
 
-pid_t find_proc_by_task(const struct task_struct *task, struct dentry *dentry)
+int check_dentry(struct task_struct *task, struct dentry *dentry)
 {
        struct vm_area_struct *vma;
        struct mm_struct *mm = task->active_mm;
+
        if (mm == NULL) {
                return 0;
        }
 
        for (vma = mm->mmap; vma; vma = vma->vm_next) {
-               if (check_vma(vma)) {
-                       if (vma->vm_file->f_dentry == dentry) {
-                               return task->tgid;
-                       }
+               if (check_vma(vma) && vma->vm_file->f_dentry == dentry) {
+                       return 1;
                }
        }
 
index 73f4446..e27f16d 100644 (file)
@@ -55,7 +55,7 @@ int install_otg_ip(unsigned long addr,
 
 int check_install_pages_in_file(struct task_struct *task, struct sspt_file *file);
 void install_proc_probes(struct task_struct *task, struct sspt_procs *procs);
-pid_t find_proc_by_task(const struct task_struct *task, struct dentry *dentry);
+int check_dentry(struct task_struct *task, struct dentry *dentry);
 void install_page_probes(unsigned long page_addr, struct task_struct *task, struct sspt_procs *procs);
 int uninstall_us_proc_probes(struct task_struct *task, struct sspt_procs *procs, enum US_FLAGS flag);
 int check_vma(struct vm_area_struct *vma);