diff options
| author | Karl Mehltretter <kmehltretter@gmail.com> | 2026-08-22 16:31:10 +0200 |
|---|---|---|
| committer | Maíra Canal <mcanal@igalia.com> | 2026-09-14 12:11:42 -0300 |
| commit | 073a30d75f309812ed61af134f24ffef4107b13a (patch) | |
| tree | e8a373345330da67fc21a52c2b470e9b5b18ff92 /tools/perf/scripts/python | |
| parent | 59ced288fcba9e91bd38e61a972ad782c4edb7d0 (diff) | |
| download | linux-next-073a30d75f309812ed61af134f24ffef4107b13a.tar.gz linux-next-073a30d75f309812ed61af134f24ffef4107b13a.zip | |
drm/vc4: Use managed KMS polling to fix UAF on unbind
vc4_kms_load() calls drm_kms_helper_poll_init() but the driver provides
no matching drm_kms_helper_poll_fini(). The output poll work stays
scheduled after unbind and runs on the freed drm_device:
# modprobe vc4; rmmod vc4; sleep 10
BUG: KASAN: slab-use-after-free in delayed_work_timer_fn
BUG: KASAN: slab-use-after-free in drm_client_dev_hotplug [drm]
Workqueue: events output_poll_execute [drm_kms_helper]
Allocated by task 171: __devm_drm_dev_alloc
Freed by task 262 (rmmod): drm_dev_put / component_del
Use drmm_kms_helper_poll_init() so polling is finalized with the device,
as other drivers do.
Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.")
Assisted-by: Claude:claude-fable-5
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Link: https://patch.msgid.link/20260822143110.68594-1-kmehltretter@gmail.com
Reviewed-by: Maíra Canal <mcanal@igalia.com>
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
