drm/syncobj: Don't leak fences when WAIT_FOR_SUBMIT is set
authorJason Ekstrand <jason@jlekstrand.net>
Wed, 26 Sep 2018 07:17:03 +0000 (02:17 -0500)
committerSean Paul <seanpaul@chromium.org>
Wed, 26 Sep 2018 14:39:14 +0000 (10:39 -0400)
commit337fe9f5c1e7de1f391c6a692531379d2aa2ee11
tree68dfd6b567200b460b9993f9e8f64f1cdc117ace
parent6bf4ca7fbc85d80446ac01c0d1d77db4d91a6d84
drm/syncobj: Don't leak fences when WAIT_FOR_SUBMIT is set

We attempt to get fences earlier in the hopes that everything will
already have fences and no callbacks will be needed.  If we do succeed
in getting a fence, getting one a second time will result in a duplicate
ref with no unref.  This is causing memory leaks in Vulkan applications
that create a lot of fences; playing for a few hours can, apparently,
bring down the system.

Cc: stable@vger.kernel.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107899
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20180926071703.15257-1-jason.ekstrand@intel.com
drivers/gpu/drm/drm_syncobj.c