nouveau: unlock mmap_sem on all errors from nouveau_range_fault
authorChristoph Hellwig <hch@lst.de>
Wed, 24 Jul 2019 06:52:55 +0000 (08:52 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 25 Jul 2019 19:14:40 +0000 (16:14 -0300)
commitde4ee728465f7c0c29241550e083139b2ce9159c
tree73cc28b95ec232a4110fa216e5fc8a839c7c6581
parent5fbcf5015db8e9f04a9da6d40322622fa229da54
nouveau: unlock mmap_sem on all errors from nouveau_range_fault

Currently nouveau_svm_fault expects nouveau_range_fault to never unlock
mmap_sem, but the latter unlocks it for a random selection of error
codes. Fix this up by always unlocking mmap_sem for non-zero return values
in nouveau_range_fault, and only unlocking it in the caller for successful
returns.

Link: https://lore.kernel.org/r/20190724065258.16603-5-hch@lst.de
Tested-by: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/gpu/drm/nouveau/nouveau_svm.c