OSDN Git Service

drm/vc4: bo: Fix drmm_mutex_init memory hog
authorMaxime Ripard <maxime@cerno.tech>
Thu, 12 Jan 2023 09:12:43 +0000 (10:12 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 12 Jan 2023 13:11:57 +0000 (14:11 +0100)
commit07a2975c65f2be2e22591d795a9c39b00f95fd11
treefd590449be5a9f6079029d4c7df97be2f0c32f91
parent5640e81607152d7f2d2558227c0f6cb78b8f39cf
drm/vc4: bo: Fix drmm_mutex_init memory hog

Commit 374146cad469 ("drm/vc4: Switch to drmm_mutex_init") converted,
among other functions, vc4_create_object() to use drmm_mutex_init().

However, that function is used to allocate a BO, and therefore the
mutex needs to be freed much sooner than when the DRM device is removed
from the system.

For each buffer allocation we thus end up allocating a small structure
as part of the DRM-managed mechanism that is never freed, eventually
leading us to no longer having any free memory anymore.

Let's switch back to mutex_init/mutex_destroy to deal with it properly.

Fixes: 374146cad469 ("drm/vc4: Switch to drmm_mutex_init")
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230112091243.490799-1-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_bo.c