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. 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.