summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorRalph Campbell <rcampbell@nvidia.com>2020-03-04 03:13:37 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-04-23 11:38:12 +0300
commitded30f112b5e835f7d2245a4d2f5b24618e3099c (patch)
tree5e5438f9f553574ef105ad48a5c7477e4e42fe8f /drivers/gpu/drm
parent102cccde0b7413a148076f4fcf0ecc7c979ec003 (diff)
downloadlinux-ded30f112b5e835f7d2245a4d2f5b24618e3099c.tar.xz
drm/nouveau/svm: check for SVM initialized before migrating
[ Upstream commit 822cab6150d3002952407a8297ff5a0d32bb7b54 ] When migrating system memory to GPU memory, check that SVM has been enabled. Even though most errors can be ignored since migration is a performance optimization, return an error because this is a violation of the API. Signed-off-by: Ralph Campbell <rcampbell@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_svm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c
index df9bf1fd1bc0..3ec5da025bea 100644
--- a/drivers/gpu/drm/nouveau/nouveau_svm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_svm.c
@@ -171,6 +171,11 @@ nouveau_svmm_bind(struct drm_device *dev, void *data,
mm = get_task_mm(current);
down_read(&mm->mmap_sem);
+ if (!cli->svm.svmm) {
+ up_read(&mm->mmap_sem);
+ return -EINVAL;
+ }
+
for (addr = args->va_start, end = args->va_start + size; addr < end;) {
struct vm_area_struct *vma;
unsigned long next;