diff options
| author | Cristian Ciocaltea <cristian.ciocaltea@collabora.com> | 2026-03-10 00:44:29 +0200 |
|---|---|---|
| committer | Heiko Stuebner <heiko@sntech.de> | 2026-03-26 20:30:35 +0100 |
| commit | 3cc50e7f73fcf79f28660b9d91566b13cb62e520 (patch) | |
| tree | e0d84fbc8dae446a4573638d0d19b08a9bd92134 /tools/perf/scripts/python/flamegraph.py | |
| parent | d946347edc4f0a7b846325323d77e936a4c90d0f (diff) | |
drm/rockchip: inno-hdmi: Switch to drmm_kzalloc()
Driver makes use of drmm_encoder_init() to initialize the encoder and
automatically handle the cleanup by registering drm_encoder_cleanup()
with drmm_add_action().
However, the internal structure containing the encoder part gets
allocated with devm_kzalloc(), which happens while component_bind_all()
is being called from Rockchip DRM driver. The component framework
further ensures it is deallocated as part of releasing all the resources
claimed during bind, which is triggered from component_unbind_all().
When the reference to the DRM device gets eventually dropped via
drm_dev_put() in rockchip_drm_unbind(), drmm_encoder_alloc_release()
attempts to access the now released encoder structure, leading to
use-after-free.
Ensure driver's internal structure is still reachable on encoder cleanup
by switching from a device-managed allocation to a drm-managed one.
Fixes: 969325a2597e ("drm/rockchip: inno-hdmi: Convert to drm bridge")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260310-drm-rk-fixes-v2-1-645ecfb43f49@collabora.com
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
