Module: Mesa Branch: staging/21.3 Commit: 5a1277abbacca9997b9c87c87d75f8596ddedc4a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a1277abbacca9997b9c87c87d75f8596ddedc4a
Author: Vinson Lee <[email protected]> Date: Sun Dec 19 20:08:37 2021 -0800 panfrost: Avoid double unlock. Fix defect reported by Coverity Scan. Double unlock (LOCK) double_unlock: pthread_mutex_unlock unlocks dev->indirect_draw_shaders.lock while it is unlocked. Fixes: 2e6d94c198e ("panfrost: Add helpers to support indirect draws") Suggested-by: Alyssa Rosenzweig <[email protected]> Signed-off-by: Vinson Lee <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14262> (cherry picked from commit 9f8a204645c60f16681309a78ca3a28a276ec5fa) --- .pick_status.json | 2 +- src/panfrost/lib/pan_indirect_draw.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 1182f9ecba5..eab204b1dcc 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -328,7 +328,7 @@ "description": "panfrost: Avoid double unlock.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "2e6d94c198e4d10c82ed3ffd59e85f460bd58950" }, diff --git a/src/panfrost/lib/pan_indirect_draw.c b/src/panfrost/lib/pan_indirect_draw.c index 06c7183936b..3335005f067 100644 --- a/src/panfrost/lib/pan_indirect_draw.c +++ b/src/panfrost/lib/pan_indirect_draw.c @@ -1131,7 +1131,6 @@ create_indirect_draw_shader(struct panfrost_device *dev, pan_pack(state, RENDERER_STATE, cfg) { pan_shader_prepare_rsd(&shader_info, address, &cfg); } - pthread_mutex_unlock(&dev->indirect_draw_shaders.lock); draw_shader->push = shader_info.push; draw_shader->rsd = dev->indirect_draw_shaders.states->ptr.gpu +
