static void
__stp_call_vm_callbacks_with_vma(struct stap_task_finder_target *tgt,
struct task_struct *tsk,
+ int map_p,
struct vm_area_struct *vma)
{
char *mmpath_buf;
rc, (int)tsk->pid);
}
else {
- __stp_call_vm_callbacks(tgt, tsk, 1, mmpath,
+ __stp_call_vm_callbacks(tgt, tsk, map_p, mmpath,
vma->vm_start, vma->vm_end,
(vma->vm_pgoff << PAGE_SHIFT));
}
down_read(&mm->mmap_sem);
vma = __stp_find_file_based_vma(mm, rv);
if (vma != NULL) {
- __stp_call_vm_callbacks_with_vma(tgt, tsk, vma);
+ __stp_call_vm_callbacks_with_vma(tgt, tsk, 0, vma);
}
up_read(&mm->mmap_sem);
mmput(mm);
&& vma->vm_end <= entry->vm_end) {
__stp_call_vm_callbacks_with_vma(tgt,
tsk,
+ 1,
vma);
if (vma->vm_end >= entry->vm_end)
break;