]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/tegra: dc: Fix reference leak in tegra_dc_couple()
authorMa Ke <make24@iscas.ac.cn>
Wed, 22 Oct 2025 11:47:20 +0000 (19:47 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Dec 2025 10:43:27 +0000 (11:43 +0100)
commit 4c5376b4b143c4834ebd392aef2215847752b16a upstream.

driver_find_device() calls get_device() to increment the reference
count once a matching device is found, but there is no put_device() to
balance the reference count. To avoid reference count leakage, add
put_device() to decrease the reference count.

Found by code review.

Cc: stable@vger.kernel.org
Fixes: a31500fe7055 ("drm/tegra: dc: Restore coupling of display controllers")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Acked-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patch.msgid.link/20251022114720.24937-1-make24@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/tegra/dc.c

index 51ca78551b57e1cc0f3ccc855174d658edc6c90e..90d3d30a84151426eaa010134bffe55fb7ebeda1 100644 (file)
@@ -3147,6 +3147,7 @@ static int tegra_dc_couple(struct tegra_dc *dc)
                dc->client.parent = &parent->client;
 
                dev_dbg(dc->dev, "coupled to %s\n", dev_name(companion));
+               put_device(companion);
        }
 
        return 0;