Re: [PATCH 2/2] uprobes: add speculative lockless VMA-to-inode-to-uprobe resolution
From: Andrii Nakryiko
Date: Tue Sep 17 2024 - 04:20:08 EST
On Sun, Sep 15, 2024 at 5:04 PM Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>
> On 09/05, Andrii Nakryiko wrote:
> >
> > +static struct uprobe *find_active_uprobe_speculative(unsigned long bp_vaddr)
> > +{
> > + const vm_flags_t flags = VM_HUGETLB | VM_MAYEXEC | VM_MAYSHARE;
> ...
> > + if (!vm_file || (vma->vm_flags & flags) != VM_MAYEXEC)
> > + goto bail;
>
> Not that this can really simplify your patch, feel free to ignore, but I don't
> think you need to check vma->vm_flags.
>
> Yes, find_active_uprobe_rcu() does the same valid_vma(vma, false) check, but it
> too can/should be removed, afaics.
yep, agreed, I'll see to simplify both, you points make total sense
>
> valid_vma(vma, false) makes sense in, say, unapply_uprobe() to quickly filter
> out vma's which can't have this bp installed, but not in the handle_swbp() paths.
>
> Oleg.
>