On 04/16/2018 09:14 AM, Dan Williams wrote: > On Sat, Apr 14, 2018 at 8:50 AM, Souptick Joarder <jrdr.linux@xxxxxxxxx> wrote: >> Use new return type vm_fault_t for fault and >> huge_fault handler. >> >> Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx> >> Reviewed-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> >> --- >> drivers/dax/device.c | 26 +++++++++++--------------- >> 1 file changed, 11 insertions(+), 15 deletions(-) >> >> diff --git a/drivers/dax/device.c b/drivers/dax/device.c >> index 2137dbc..a122701 100644 >> --- a/drivers/dax/device.c >> +++ b/drivers/dax/device.c >> @@ -243,11 +243,11 @@ __weak phys_addr_t dax_pgoff_to_phys(struct dev_dax *dev_dax, pgoff_t pgoff, >> return -1; >> } >> >> -static int __dev_dax_pte_fault(struct dev_dax *dev_dax, struct vm_fault *vmf) >> +static vm_fault_t __dev_dax_pte_fault(struct dev_dax *dev_dax, >> + struct vm_fault *vmf) >> { >> struct device *dev = &dev_dax->dev; >> struct dax_region *dax_region; >> - int rc = VM_FAULT_SIGBUS; >> phys_addr_t phys; >> pfn_t pfn; >> unsigned int fault_size = PAGE_SIZE; >> @@ -274,17 +274,11 @@ static int __dev_dax_pte_fault(struct dev_dax *dev_dax, struct vm_fault *vmf) >> >> pfn = phys_to_pfn_t(phys, dax_region->pfn_flags); >> >> - rc = vm_insert_mixed(vmf->vma, vmf->address, pfn); >> - >> - if (rc == -ENOMEM) >> - return VM_FAULT_OOM; >> - if (rc < 0 && rc != -EBUSY) >> - return VM_FAULT_SIGBUS; >> - >> - return VM_FAULT_NOPAGE; >> + return vmf_insert_mixed(vmf->vma, vmf->address, pfn); > > Ugh, so this change to vmf_insert_mixed() went upstream without fixing > the users? This changelog is now misleading as it does not mention > that is now an urgent standalone fix. On first read I assumed this was > part of a wider effort for 4.18. > > Grumble, we'll get this applied with a 'Fixes: 1c8f422059ae ("mm: > change return type to vm_fault_t")' tag. > Thanks for that explanation. The patch description is missing any kind of "why" (justification). -- ~Randy