]> git.baikalelectronics.ru Git - kernel.git/commit
drm/vc4: vec: Switch to drmm_kzalloc
authorMaxime Ripard <maxime@cerno.tech>
Mon, 11 Jul 2022 17:39:26 +0000 (19:39 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Wed, 13 Jul 2022 08:46:12 +0000 (10:46 +0200)
commitd12c9327416ab263f93c3cc05f1a78e573582980
tree913ab8108c3c9bdf3d7874f3967344ed004da90b
parent4b051ce2f3d640208d4cfe0e250d8d13ee69d5aa
drm/vc4: vec: Switch to drmm_kzalloc

Our internal structure that stores the DRM entities structure is allocated
through a device-managed kzalloc.

This means that this will eventually be freed whenever the device is
removed. In our case, the most likely source of removal is that the main
device is going to be unbound, and component_unbind_all() is being run.

However, it occurs while the DRM device is still registered, which will
create dangling pointers, eventually resulting in use-after-free.

Switch to a DRM-managed allocation to keep our structure until the DRM
driver doesn't need it anymore.

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220711173939.1132294-57-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_vec.c