On 03/19, Ravi Bangoria wrote:
>
> Hi Oleg,
> 
> On 03/14/2018 10:29 PM, Oleg Nesterov wrote:
> > On 03/13, Ravi Bangoria wrote:
> >> +static bool sdt_valid_vma(struct trace_uprobe *tu, struct vm_area_struct 
> >> *vma)
> >> +{
> >> +  unsigned long vaddr = vma_offset_to_vaddr(vma, tu->ref_ctr_offset);
> >> +
> >> +  return tu->ref_ctr_offset &&
> >> +          vma->vm_file &&
> >> +          file_inode(vma->vm_file) == tu->inode &&
> >> +          vma->vm_flags & VM_WRITE &&
> >> +          vma->vm_start <= vaddr &&
> >> +          vma->vm_end > vaddr;
> >> +}
> > Perhaps in this case a simple
> >
> >             ref_ctr_offset < vma->vm_end - vma->vm_start
> >
> > check without vma_offset_to_vaddr() makes more sense, but I won't insist.
> >
> 
> I still don't get this. This seems a comparison between file offset and size
> of the vma. Shouldn't we need to consider pg_off here?

Indeed, I am stupid ;)

Oleg.

Reply via email to