This is a note to let you know that I've just added the patch titled drm/client: Switch drm_client_buffer_delete() to unlocked drm_gem_vunmap to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-client-switch-drm_client_buffer_delete-to-unlock.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. commit b58f7e943a7894851a260d56ec72acb51374517a Author: Dmitry Osipenko <dmitry.osipenko@xxxxxxxxxxxxx> Date: Fri Oct 21 00:33:35 2022 +0300 drm/client: Switch drm_client_buffer_delete() to unlocked drm_gem_vunmap [ Upstream commit 27b2ae654370e1a8e446b0e48c4e406abed12ca1 ] The drm_client_buffer_delete() wasn't switched to unlocked GEM vunmapping by accident when rest of drm_client code transitioned to the unlocked variants of the vmapping functions. Make drm_client_buffer_delete() use the unlocked variant. This fixes lockdep warning splat about missing reservation lock when framebuffer is released. Reported-by: kernel test robot <yujie.liu@xxxxxxxxx> Link: https://lore.kernel.org/dri-devel/890f70db-68b0-8456-ca3c-c5496ef90517@xxxxxxxxxxxxx/T/ Fixes: 79e2cf2e7a19 ("drm/gem: Take reservation lock for vmap/vunmap operations") Signed-off-by: Dmitry Osipenko <dmitry.osipenko@xxxxxxxxxxxxx> Acked-by: Christian König <christian.koenig@xxxxxxx> Link: https://patchwork.freedesktop.org/patch/msgid/20221020213335.309092-1-dmitry.osipenko@xxxxxxxxxxxxx Stable-dep-of: 85e26dd5100a ("drm/client: fix circular reference counting issue") Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c index fbcb1e995384a..38e1be991caa5 100644 --- a/drivers/gpu/drm/drm_client.c +++ b/drivers/gpu/drm/drm_client.c @@ -235,7 +235,7 @@ static void drm_client_buffer_delete(struct drm_client_buffer *buffer) { struct drm_device *dev = buffer->client->dev; - drm_gem_vunmap(buffer->gem, &buffer->map); + drm_gem_vunmap_unlocked(buffer->gem, &buffer->map); if (buffer->gem) drm_gem_object_put(buffer->gem);