/* exec callback, will try to match vdso for new process, will drop all vma maps for a process that disappears. */ static int _stp_vma_exec_cb(struct stap_task_finder_target *tgt, struct task_struct *tsk, int register_p, int process_p) { dbug_task_vma(1, "tsk %d:%d , register_p: %d, process_p: %d\n", tsk->pid, tsk->tgid, register_p, process_p); if (process_p) { if (register_p) _stp_vma_match_vdso(tsk); else stap_drop_vma_maps(tsk); } return 0; }
/* exec callback, will try to match vdso for new process, will drop all vma maps for a process that disappears. */ static int _stp_vma_exec_cb(struct stap_task_finder_target *tgt, struct task_struct *tsk, int register_p, int process_p) { #ifdef DEBUG_TASK_FINDER_VMA _stp_dbug(__FUNCTION__, __LINE__, "tsk %d:%d , register_p: %d, process_p: %d\n", tsk->pid, tsk->tgid, register_p, process_p); #endif if (process_p) { if (register_p) _stp_vma_match_vdso(tsk); else stap_drop_vma_maps(tsk); } return 0; }