Messages in this thread | | | Subject | Re: [PATCH] drm: vkms: check status of alloc_ordered_workqueue | From | Mukesh Ojha <> | Date | Sat, 23 Mar 2019 15:35:15 +0530 |
| |
On 3/9/2019 10:06 AM, Kangjie Lu wrote: > alloc_ordered_workqueue may fail and return NULL. > The fix returns ENOMEM when it fails to avoid potential NULL > pointer dereference. > > Signed-off-by: Kangjie Lu <kjlu@umn.edu> > --- > drivers/gpu/drm/vkms/vkms_crtc.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c > index 8a9aeb0a9ea8..bb66dbcd5e3f 100644 > --- a/drivers/gpu/drm/vkms/vkms_crtc.c > +++ b/drivers/gpu/drm/vkms/vkms_crtc.c > @@ -219,6 +219,8 @@ int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, > spin_lock_init(&vkms_out->state_lock); > > vkms_out->crc_workq = alloc_ordered_workqueue("vkms_crc_workq", 0); > + if (!vkms_out->crc_workq) > + return -ENOMEM; > > return ret; > }
Check the clean up path more carefully, you have undo which you have done successfully in drm_crtc_init_with_planes.
Thanks, Mukesh
| |