diff --git a/mm/shmem.c b/mm/shmem.c
index 88593586bdb7f92022dc6ca7b95be89508dd88e9..91ce9a1024d7f87abab6c68b9d53e73e857f1fc0 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2793,5 +2793,6 @@ int shmem_zero_setup(struct vm_area_struct *vma)
 		fput(vma->vm_file);
 	vma->vm_file = file;
 	vma->vm_ops = &shmem_vm_ops;
+	vma->vm_flags |= VM_CAN_NONLINEAR;
 	return 0;
 }