diff options
| author | Dan Carpenter <dan.carpenter@oracle.com> | 2020-05-18 14:29:55 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-05-27 17:46:42 +0200 |
| commit | 57c32a52c3fecb17689e268dd9af201920872600 (patch) | |
| tree | e3f0e76c62c3894ad92975f5f1d7a9d72fb9bb2f | |
| parent | 432b103596bd8dd1ca3d4b5b98eb35f45d66c82b (diff) | |
| download | linux-57c32a52c3fecb17689e268dd9af201920872600.tar.gz linux-57c32a52c3fecb17689e268dd9af201920872600.tar.bz2 linux-57c32a52c3fecb17689e268dd9af201920872600.zip | |
drm/etnaviv: Fix a leak in submit_pin_objects()
commit ad99cb5e783bb03d512092db3387ead9504aad3d upstream.
If the mapping address is wrong then we have to release the reference to
it before returning -EINVAL.
Fixes: 088880ddc0b2 ("drm/etnaviv: implement softpin")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c index aa3e4c3b063a..1ba83a90cdef 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c @@ -240,8 +240,10 @@ static int submit_pin_objects(struct etnaviv_gem_submit *submit) } if ((submit->flags & ETNA_SUBMIT_SOFTPIN) && - submit->bos[i].va != mapping->iova) + submit->bos[i].va != mapping->iova) { + etnaviv_gem_mapping_unreference(mapping); return -EINVAL; + } atomic_inc(&etnaviv_obj->gpu_active); |
