• Naoya Horiguchi's avatar
    mm/memory-failure: prioritize prctl(PR_MCE_KILL) over vm.memory_failure_early_kill · 4e018b45
    Naoya Horiguchi authored
    Patch series "hwpoison: fixes signaling on memory error"
    
    This is a small patchset to solve issues in memory error handler to send
    SIGBUS to proper process/thread as expected in configuration.  Please
    see descriptions in individual patches for more details.
    
    This patch (of 2):
    
    Early-kill policy is controlled from two types of settings, one is
    per-process setting prctl(PR_MCE_KILL) and the other is system-wide
    setting vm.memory_failure_early_kill.  Users expect per-process setting
    to override system-wide setting as many other settings do, but
    early-kill setting doesn't work as such.
    
    For example, if a system configures vm.memory_failure_early_kill to 1
    (enabled), a process receives SIGBUS even if it's configured to
    explicitly disable PF_MCE_KILL by prctl().  That's not desirable for
    applications with their own policies.
    
    This patch is suggesting to change the priority of these two types of
    settings, by checking sysctl_memory_failure_early_kill only when a given
    process has the default kill policy.
    
    Note that this patch is solving a thread choice issue too.
    
    Originally, collect_procs() always chooses the main thread when
    vm.memory_failure_early_kill is 1, even if the process has a dedicated
    thread for memory error handling.  SIGBUS should be sent to the
    dedicated thread if early-kill is enabled via
    vm.memory_failure_early_kill as we are doing for PR_MCE_KILL_EARLY
    processes.
    Signed-off-by: default avatarNaoya Horiguchi <naoya.horiguchi@nec.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
    Link: http://lkml.kernel.org/r/1591321039-22141-1-git-send-email-naoya.horiguchi@nec.com
    Link: http://lkml.kernel.org/r/1591321039-22141-2-git-send-email-naoya.horiguchi@nec.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4e018b45
memory-failure.c 52.8 KB