diff options
Diffstat (limited to 'drivers/dax')
| -rw-r--r-- | drivers/dax/device.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/dax/device.c b/drivers/dax/device.c index 6833ada237ab..7b0bf825c4e7 100644 --- a/drivers/dax/device.c +++ b/drivers/dax/device.c @@ -428,9 +428,21 @@ static int dev_dax_fault(struct vm_fault *vmf)  	return dev_dax_huge_fault(vmf, PE_SIZE_PTE);  } +static int dev_dax_split(struct vm_area_struct *vma, unsigned long addr) +{ +	struct file *filp = vma->vm_file; +	struct dev_dax *dev_dax = filp->private_data; +	struct dax_region *dax_region = dev_dax->region; + +	if (!IS_ALIGNED(addr, dax_region->align)) +		return -EINVAL; +	return 0; +} +  static const struct vm_operations_struct dax_vm_ops = {  	.fault = dev_dax_fault,  	.huge_fault = dev_dax_huge_fault, +	.split = dev_dax_split,  };  static int dax_mmap(struct file *filp, struct vm_area_struct *vma)  | 

