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?

Thanks,
Ravi

Reply via email to