aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/uprobes.h
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2012-08-19 17:41:34 +0200
committerOleg Nesterov <oleg@redhat.com>2012-09-15 17:37:27 +0200
commit499a4f3ec057a0f79636cc3c1e581bb6e977a30f (patch)
tree6c24cbd3d9eeb3d1711da4b5aa114e6ff17955c9 /include/linux/uprobes.h
parentuprobes: Introduce MMF_RECALC_UPROBES (diff)
downloadlinux-dev-499a4f3ec057a0f79636cc3c1e581bb6e977a30f.tar.xz
linux-dev-499a4f3ec057a0f79636cc3c1e581bb6e977a30f.zip
uprobes: Teach find_active_uprobe() to clear MMF_HAS_UPROBES
The wrong MMF_HAS_UPROBES doesn't really hurt, just it triggers the "slow" and unnecessary handle_swbp() path if the task hits the non-uprobe breakpoint. So this patch changes find_active_uprobe() to check every valid vma and clear MMF_HAS_UPROBES if no uprobes were found. This is adds the slow O(n) path, but it is only called in unlikely case when the task hits the normal breakpoint first time after uprobe_unregister(). Note the "not strictly accurate" comment in mmf_recalc_uprobes(). We can fix this, we only need to teach vma_has_uprobes() to return a bit more more info, but I am not sure this worth the trouble. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Diffstat (limited to 'include/linux/uprobes.h')
0 files changed, 0 insertions, 0 deletions