From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mukesh Ojha Subject: Re: [PATCH] drm: vkms: check status of alloc_ordered_workqueue Date: Sat, 23 Mar 2019 15:35:15 +0530 Message-ID: <955fbabe-e5f2-cfff-8dfd-1730243b0fff@codeaurora.org> References: <20190309043628.6078-1-kjlu@umn.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20190309043628.6078-1-kjlu@umn.edu> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Kangjie Lu Cc: pakki001@umn.edu, Rodrigo Siqueira , Haneen Mohammed , Daniel Vetter , David Airlie , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org 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 > --- > 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