Messages in this thread | | | From | Ravi Bangoria <> | Subject | Re: [PATCH 5/8] trace_uprobe: Support SDT markers having reference count (semaphore) | Date | Fri, 16 Mar 2018 14:58:55 +0530 |
| |
On 03/15/2018 08:00 PM, Oleg Nesterov wrote: > On 03/15, Oleg Nesterov wrote: >>> +static struct vm_area_struct * >>> +sdt_find_vma(struct mm_struct *mm, struct trace_uprobe *tu) >>> +{ >>> + struct vm_area_struct *tmp; >>> + >>> + for (tmp = mm->mmap; tmp != NULL; tmp = tmp->vm_next) >>> + if (sdt_valid_vma(tu, tmp)) >>> + return tmp; >>> + >>> + return NULL; >> I can't understand the logic... Lets ignore sdt_valid_vma() for now. >> The caller has uprobe_map_info, why it can't simply do >> vma = find_vma(uprobe_map_info->vaddr)? and then check sdt_valid_vma(). > Note to mention that sdt_find_vma() can return NULL but the callers do > vma_offset_to_vaddr(vma) without any check.
If the "mm" we are passing to sdt_find_vma() is returned by uprobe_build_map_info(ref_ctr_offset), sdt_find_vma() must _not_ return NULL.
Thanks for the review, Ravi
| |