Centos-kernel-stream-9/drivers/s390
Jeff Moyer 95e03aeb98 dax: enable dax fault handler to report VM_FAULT_HWPOISON
JIRA: https://issues.redhat.com/browse/RHEL-23824

commit 1ea7ca1b090145519aad998679222f0a14ab8fce
Author: Jane Chu <jane.chu@oracle.com>
Date:   Thu Jun 15 12:13:25 2023 -0600

    dax: enable dax fault handler to report VM_FAULT_HWPOISON
    
    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: Jane Chu <jane.chu@oracle.com>
    Link: https://lore.kernel.org/r/20230615181325.1327259-2-jane.chu@oracle.com
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2024-07-26 14:52:28 -04:00
..
block dax: enable dax fault handler to report VM_FAULT_HWPOISON 2024-07-26 14:52:28 -04:00
char Merge: Backport s390x KVM patches from kernel v6.6-rc3 up to v6.9-rc6 2024-05-16 13:31:08 +00:00
cio bitmap: introduce generic optimized bitmap_size() 2024-06-12 14:49:18 +02:00
crypto s390/zcrypt: Use EBUSY to indicate temp unavailability 2024-05-31 09:17:14 +00:00
net Merge: CNB95: net: annotate writes on dev->mtu from ndo_change_mtu() 2024-06-19 18:24:31 +00:00
scsi scsi: zfcp: Replace strlcpy() with strscpy() 2024-05-31 10:03:00 +00:00
virtio s390/airq: remove lsi_mask from airq_struct 2024-05-10 13:51:31 +02:00
Makefile