In the Linux kernel, the following vulnerability has been resolved: drm/msm: Only fini scheduler after successful init msm_ringbuffer_new() destroys a partially initialized ring through msm_ringbuffer_destroy() when an allocation or scheduler setup step fails. If drm_sched_init() fails before it finishes initializing the scheduler, the failure path still calls drm_sched_fini(). That teardown path assumes the scheduler work items, lists, and workqueue state were initialized. Track successful scheduler initialization and call drm_sched_fini() only after drm_sched_init() returned 0. This issue was found by a static analysis checker and confirmed by manual source review. Patchwork: https://patchwork.freedesktop.org/patch/738905/
https://git.kernel.org/stable/c/e2332abed2a4d3caa59052095dc16e4ce44791ea
https://git.kernel.org/stable/c/d43e1bbfd43458b9242806eec77ea3b032134baf
https://git.kernel.org/stable/c/09b360eb6ce345996a30fad8c86e9df80f41cd7e