• Oleg Nesterov's avatar
    uprobes: Kill dup_mmap()->uprobe_mmap(), simplify uprobe_mmap/munmap · f1a45d02
    Oleg Nesterov authored
    1. Kill dup_mmap()->uprobe_mmap(), it was only needed to calculate
       new_mm->uprobes_state.count removed by the previous patch.
    
       If the forking process has a pending uprobe (int3) in vma, it will
       be copied by copy_page_range(), note that it checks vma->anon_vma
       so "Don't copy ptes" is not possible after install_breakpoint()
       which does anon_vma_prepare().
    
    2. Remove is_swbp_at_addr() and "int count" in uprobe_mmap(). Again,
       this was needed for uprobes_state.count.
    
       As a side effect this fixes the bug pointed out by Srikar,
       this code lacked the necessary put_uprobe().
    
    3. uprobe_munmap() becomes a nop after the previous patch. Remove the
       meaningless code but do not remove the helper, we will need it.
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Acked-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
    f1a45d02
fork.c 44.2 KB