]> git.hungrycats.org Git - linux/commit
drm/amd/display: Fix handling of plane refcount
authorJoshua Aberback <joshua.aberback@amd.com>
Mon, 28 Oct 2024 21:12:22 +0000 (17:12 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2024 09:41:15 +0000 (10:41 +0100)
commit8cb2f6793845f135b28361ba8e96901cae3e5790
tree0e1177599ef9ee7c15f3aa06ab7583eb84d1ef64
parent08e5f8e1a24fb1f9ffa40a14dde335f05d9ece31
drm/amd/display: Fix handling of plane refcount

commit 27227a234c1487cb7a684615f0749c455218833a upstream.

[Why]
The mechanism to backup and restore plane states doesn't maintain
refcount, which can cause issues if the refcount of the plane changes
in between backup and restore operations, such as memory leaks if the
refcount was supposed to go down, or double frees / invalid memory
accesses if the refcount was supposed to go up.

[How]
Cache and re-apply current refcount when restoring plane states.

Cc: stable@vger.kernel.org
Reviewed-by: Josip Pavic <josip.pavic@amd.com>
Signed-off-by: Joshua Aberback <joshua.aberback@amd.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/dc/core/dc.c