Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751702AbdHNOMT (ORCPT ); Mon, 14 Aug 2017 10:12:19 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:34042 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750876AbdHNOMS (ORCPT ); Mon, 14 Aug 2017 10:12:18 -0400 Date: Mon, 14 Aug 2017 16:12:14 +0200 From: Daniel Vetter To: "Gustavo A. R. Silva" Cc: Patrik Jakobsson , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH] drm/gma500: fix potential NULL pointer dereference dereference Message-ID: <20170814141213.gebdusrrzfbkzl2c@phenom.ffwll.local> Mail-Followup-To: "Gustavo A. R. Silva" , Patrik Jakobsson , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org References: <20170812015515.GA8360@embeddedgus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170812015515.GA8360@embeddedgus> X-Operating-System: Linux phenom 4.11.0-2-amd64 User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1658 Lines: 52 On Fri, Aug 11, 2017 at 08:55:15PM -0500, Gustavo A. R. Silva wrote: > NULL check at line 528: if (!sender || !data_out || !len_out) {, implies > that pointer _sender_ might be NULL. > > Move pointer _sender_ dereference after NULL check in order to avoid a > potential NULL pointer dereference. > > This issue was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva Applied to drm-misc-next, thanks. -Daniel > --- > drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c > index 1616af2..c50534c 100644 > --- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c > +++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c > @@ -520,7 +520,7 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type, > u8 *data, u16 len, u32 *data_out, u16 len_out, bool hs) > { > unsigned long flags; > - struct drm_device *dev = sender->dev; > + struct drm_device *dev; > int i; > u32 gen_data_reg; > int retry = MDFLD_DSI_READ_MAX_COUNT; > @@ -530,6 +530,8 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type, > return -EINVAL; > } > > + dev = sender->dev; > + > /** > * do reading. > * 0) send out generic read request > -- > 2.5.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch