drm/imagination: Fixed oops when misusing ioctl CREATE_HWRT_DATASET
authorDonald Robson <donald.robson@imgtec.com>
Fri, 8 Dec 2023 16:30:19 +0000 (16:30 +0000)
committerMaxime Ripard <mripard@kernel.org>
Fri, 15 Dec 2023 13:04:08 +0000 (14:04 +0100)
commitf1f55ed3ffe4212f5c96106bf6396c461a2bf223
tree30da1df3ec62865810378db6309d0f94d13a65d7
parentb39610c773431ac7991cf6235e26d693ccabd9e9
drm/imagination: Fixed oops when misusing ioctl CREATE_HWRT_DATASET

While writing the matching IGT suite I discovered that it's possible to
cause a kernel oops when using DRM_IOCTL_PVR_CREATE_HWRT_DATASET when
the call to hwrt_init_common_fw_structure() fails.

Use an unwind-type error path to avoid cleaning up the object using the
the release function before it is fully resolved.

Signed-off-by: Donald Robson <donald.robson@imgtec.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231208163019.95913-1-donald.robson@imgtec.com
drivers/gpu/drm/imagination/pvr_hwrt.c