drm/vc4: hvs: Protect device resources after removal
authorMaxime Ripard <maxime@cerno.tech>
Mon, 11 Jul 2022 17:38:45 +0000 (19:38 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Wed, 13 Jul 2022 08:46:07 +0000 (10:46 +0200)
commit969cfae1f01d03aee7a87e41d5313e65db4a9c0c
tree014260c51b5bb887d635701ee9958853c639b2a8
parent68e4a69aec4dac161c620665693809b3e69db72f
drm/vc4: hvs: Protect device resources after removal

Whenever the device and driver are unbound, the main device and all the
subdevices will be removed by calling their unbind() method.

However, the DRM device itself will only be freed when the last user will
have closed it.

It means that there is a time window where the device and its resources
aren't there anymore, but the userspace can still call into our driver.

Fortunately, the DRM framework provides the drm_dev_enter() and
drm_dev_exit() functions to make sure our underlying device is still there
for the section protected by those calls. Let's add them to the HVS driver.

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