Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  • Jane Chu's avatar
    dax: enable dax fault handler to report VM_FAULT_HWPOISON · 1ea7ca1b
    Jane Chu authored
    
    When multiple processes mmap() a dax file, then at some point,
    a process issues a 'load' and consumes a hwpoison, the process
    receives a SIGBUS with si_code = BUS_MCEERR_AR and with si_lsb
    set for the poison scope. Soon after, any other process issues
    a 'load' to the poisoned page (that is unmapped from the kernel
    side by memory_failure), it receives a SIGBUS with
    si_code = BUS_ADRERR and without valid si_lsb.
    
    This is confusing to user, and is different from page fault due
    to poison in RAM memory, also some helpful information is lost.
    
    Channel dax backend driver's poison detection to the filesystem
    such that instead of reporting VM_FAULT_SIGBUS, it could report
    VM_FAULT_HWPOISON.
    
    If user level block IO syscalls fail due to poison, the errno will
    be converted to EIO to maintain block API consistency.
    
    Signed-off-by: default avatarJane Chu <jane.chu@oracle.com>
    Link: https://lore.kernel.org/r/20230615181325.1327259-2-jane.chu@oracle.com
    Reviewed-by: Dan William...
    1ea7ca1b
Forked from BeagleBoard.org / Linux
Source project has a limited visibility.