From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH] drm/i915: fix NULL deref in the load detect code Date: Fri, 14 Feb 2014 08:11:36 -0800 Message-ID: <20140214081136.7652804a@jbarnes-desktop> References: <1392392154-3479-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from oproxy1-pub.mail.unifiedlayer.com (oproxy1-pub.mail.unifiedlayer.com [66.147.249.253]) by gabe.freedesktop.org (Postfix) with SMTP id C7A23FB578 for ; Fri, 14 Feb 2014 08:11:38 -0800 (PST) In-Reply-To: <1392392154-3479-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Daniel Vetter Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On Fri, 14 Feb 2014 16:35:54 +0100 Daniel Vetter wrote: > Looks like I've missed one of the potential NULL deref bugs in Jesse's > fbdev->fb embedded struct to pointer conversions. Fix it up. > > This regression has been introduced in > > commit 8bcd45534ddf68ab71aeed709dacd9cf65dc0f75 > Author: Jesse Barnes > Date: Fri Feb 7 12:10:38 2014 -0800 > > drm/i915: alloc intel_fb in the intel_fbdev struct > > Cc: Jesse Barnes > Signed-off-by: Daniel Vetter > --- > drivers/gpu/drm/i915/intel_display.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 0d3f2a5f4d2d..f19e6ea36dc4 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -7754,13 +7754,15 @@ mode_fits_in_fbdev(struct drm_device *dev, > struct drm_i915_gem_object *obj; > struct drm_framebuffer *fb; > > - if (dev_priv->fbdev == NULL) > + if (!dev_priv->fbdev) > return NULL; > > - obj = dev_priv->fbdev->fb->obj; > - if (obj == NULL) > + if (!dev_priv->fbdev->fb) > return NULL; > > + obj = dev_priv->fbdev->fb->obj; > + BUG_ON(!obj); > + > fb = &dev_priv->fbdev->fb->base; > if (fb->pitches[0] < intel_framebuffer_pitch_for_width(mode->hdisplay, > fb->bits_per_pixel)) ah yep, good catch. Reviewed-by: Jesse Barnes -- Jesse Barnes, Intel Open Source Technology Center