• Oleg Nesterov's avatar
    uprobes: Change uprobe_mmap() to ignore the errors but check fatal_signal_pending() · 5e5be71a
    Oleg Nesterov authored
    Once install_breakpoint() fails uprobe_mmap() "ignores" all other
    uprobes and returns the error.
    
    It was never really needed to to stop after the first error, and
    in fact it was always wrong at least in -ENOTSUPP case.
    
    Change uprobe_mmap() to ignore the errors and always return 0.
    This is not what we want in the long term, but until we teach
    the callers to handle the failure it would be better to remove
    the pointless complications. And this doesn't look too bad, the
    only "reasonable" error is ENOMEM but in this case the caller
    should be oom-killed in the likely case or the system has more
    serious problems.
    
    However it makes sense to stop if fatal_signal_pending() == T.
    In particular this helps if the task was oom-killed.
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Acked-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
    5e5be71a
uprobes.c 37.3 KB