--- x/drivers/gpu/drm/drm_gem_shmem_helper.c +++ y/drivers/gpu/drm/drm_gem_shmem_helper.c @@ -644,6 +644,8 @@ int drm_gem_shmem_mmap(struct drm_gem_sh return ret; vm_flags_set(vma, VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP); + if ((vma->vm_flags & VM_PFNMAP) && is_cow_mapping(vma->vm_flags)) + return -EINVAL; vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); if (shmem->map_wc) vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);