Loading drivers/dax/device.c +8 −4 Original line number Diff line number Diff line Loading @@ -189,14 +189,16 @@ static int check_vma(struct dev_dax *dev_dax, struct vm_area_struct *vma, /* prevent private mappings from being established */ if ((vma->vm_flags & VM_MAYSHARE) != VM_MAYSHARE) { dev_info(dev, "%s: %s: fail, attempted private mapping\n", dev_info_ratelimited(dev, "%s: %s: fail, attempted private mapping\n", current->comm, func); return -EINVAL; } mask = dax_region->align - 1; if (vma->vm_start & mask || vma->vm_end & mask) { dev_info(dev, "%s: %s: fail, unaligned vma (%#lx - %#lx, %#lx)\n", dev_info_ratelimited(dev, "%s: %s: fail, unaligned vma (%#lx - %#lx, %#lx)\n", current->comm, func, vma->vm_start, vma->vm_end, mask); return -EINVAL; Loading @@ -204,13 +206,15 @@ static int check_vma(struct dev_dax *dev_dax, struct vm_area_struct *vma, if ((dax_region->pfn_flags & (PFN_DEV|PFN_MAP)) == PFN_DEV && (vma->vm_flags & VM_DONTCOPY) == 0) { dev_info(dev, "%s: %s: fail, dax range requires MADV_DONTFORK\n", dev_info_ratelimited(dev, "%s: %s: fail, dax range requires MADV_DONTFORK\n", current->comm, func); return -EINVAL; } if (!vma_is_dax(vma)) { dev_info(dev, "%s: %s: fail, vma is not DAX capable\n", dev_info_ratelimited(dev, "%s: %s: fail, vma is not DAX capable\n", current->comm, func); return -EINVAL; } Loading Loading
drivers/dax/device.c +8 −4 Original line number Diff line number Diff line Loading @@ -189,14 +189,16 @@ static int check_vma(struct dev_dax *dev_dax, struct vm_area_struct *vma, /* prevent private mappings from being established */ if ((vma->vm_flags & VM_MAYSHARE) != VM_MAYSHARE) { dev_info(dev, "%s: %s: fail, attempted private mapping\n", dev_info_ratelimited(dev, "%s: %s: fail, attempted private mapping\n", current->comm, func); return -EINVAL; } mask = dax_region->align - 1; if (vma->vm_start & mask || vma->vm_end & mask) { dev_info(dev, "%s: %s: fail, unaligned vma (%#lx - %#lx, %#lx)\n", dev_info_ratelimited(dev, "%s: %s: fail, unaligned vma (%#lx - %#lx, %#lx)\n", current->comm, func, vma->vm_start, vma->vm_end, mask); return -EINVAL; Loading @@ -204,13 +206,15 @@ static int check_vma(struct dev_dax *dev_dax, struct vm_area_struct *vma, if ((dax_region->pfn_flags & (PFN_DEV|PFN_MAP)) == PFN_DEV && (vma->vm_flags & VM_DONTCOPY) == 0) { dev_info(dev, "%s: %s: fail, dax range requires MADV_DONTFORK\n", dev_info_ratelimited(dev, "%s: %s: fail, dax range requires MADV_DONTFORK\n", current->comm, func); return -EINVAL; } if (!vma_is_dax(vma)) { dev_info(dev, "%s: %s: fail, vma is not DAX capable\n", dev_info_ratelimited(dev, "%s: %s: fail, vma is not DAX capable\n", current->comm, func); return -EINVAL; } Loading