On Mon, Apr 16, 2018 at 9:59 PM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > 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). ok, I will send v2 with description. > > > -- > ~Randy