struct hlist_node hlist;
pid_t pid;
- unsigned long addr;
unsigned long vm_start;
unsigned long vm_end;
unsigned long vm_pgoff;
head = &__stp_tf_vma_map[__stp_tf_vma_map_hash(tsk)];
hlist_for_each_entry(entry, node, head, hlist) {
if (tsk->pid == entry->pid
- && vm_start == entry->addr) {
+ && vm_start == entry->vm_start) {
return entry;
}
}
// Fill in the info
entry->pid = tsk->pid;
- //entry->addr = addr; ???
entry->vm_start = vm_start;
entry->vm_end = vm_end;
entry->vm_pgoff = vm_pgoff;
// Returns -ESRCH if not present. The __stp_tf_vma_lock must *not* be
// locked before calling this function.
static int
-stap_find_vma_map_info(struct task_struct *tsk, unsigned long vm_addr,
+stap_find_vma_map_info(struct task_struct *tsk, unsigned long addr,
unsigned long *vm_start, unsigned long *vm_end,
unsigned long *vm_pgoff, struct dentry **dentry,
void **user)
head = &__stp_tf_vma_map[__stp_tf_vma_map_hash(tsk)];
hlist_for_each_entry(entry, node, head, hlist) {
if (tsk->pid == entry->pid
- && vm_addr >= entry->vm_start
- && vm_addr < entry->vm_end) {
+ && addr >= entry->vm_start
+ && addr < entry->vm_end) {
found_entry = entry;
break;
}