[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190614001121.23950-1-rcampbell@nvidia.com>
Date: Thu, 13 Jun 2019 17:11:21 -0700
From: Ralph Campbell <rcampbell@...dia.com>
To: Jerome Glisse <jglisse@...hat.com>,
David Airlie <airlied@...ux.ie>,
"Ben Skeggs" <bskeggs@...hat.com>,
Jason Gunthorpe <jgg@...lanox.com>
CC: <nouveau@...ts.freedesktop.org>, <linux-mm@...ck.org>,
<dri-devel@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>,
"Ralph Campbell" <rcampbell@...dia.com>
Subject: [PATCH] drm/nouveau/dmem: missing mutex_lock in error path
In nouveau_dmem_pages_alloc(), the drm->dmem->mutex is unlocked before
calling nouveau_dmem_chunk_alloc().
Reacquire the lock before continuing to the next page.
Signed-off-by: Ralph Campbell <rcampbell@...dia.com>
---
I found this while testing Jason Gunthorpe's hmm tree but this is
independant of those changes. I guess it could go through
David Airlie's tree for nouveau or Jason's tree.
drivers/gpu/drm/nouveau/nouveau_dmem.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c
index 27aa4e72abe9..00f7236af1b9 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dmem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c
@@ -379,9 +379,10 @@ nouveau_dmem_pages_alloc(struct nouveau_drm *drm,
ret = nouveau_dmem_chunk_alloc(drm);
if (ret) {
if (c)
- break;
+ return 0;
return ret;
}
+ mutex_lock(&drm->dmem->mutex);
continue;
}
--
2.20.1
Powered by blists - more mailing lists