Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751862AbdLDQfz (ORCPT ); Mon, 4 Dec 2017 11:35:55 -0500 Received: from galahad.ideasonboard.com ([185.26.127.97]:38755 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752294AbdLDQfv (ORCPT ); Mon, 4 Dec 2017 11:35:51 -0500 From: Laurent Pinchart To: Arnd Bergmann Cc: Rob Clark , David Airlie , Archit Taneja , Daniel Vetter , Liviu Dudau , Gustavo Padovan , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm: msm: avoid false-positive -Wmaybe-uninitialized warning Date: Mon, 04 Dec 2017 18:36:03 +0200 Message-ID: <1595491.VEK6ezTaRq@avalon> Organization: Ideas on Board Oy In-Reply-To: <20171204144436.272626-1-arnd@arndb.de> References: <20171204144436.272626-1-arnd@arndb.de> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2278 Lines: 69 Hi Arnd, Thank you for the patch. On Monday, 4 December 2017 16:44:23 EET Arnd Bergmann wrote: > gcc-8 -fsanitize-coverage=trace-pc produces a false-positive warning: > > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c: In function > 'mdp5_plane_mode_set.isra.8': > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c:1053:3: error: 'crtc_x_r' may be > used uninitialized in this function [-Werror=maybe-uninitialized] > > It's relatively clear from reading the source that this cannot happen, > and older compilers get it right. This rearranges the code remove > the two affected variables, which reliably avoids the problem. > > Signed-off-by: Arnd Bergmann The patch looks good to me, so Acked-by: Laurent Pinchart However I think it would also be useful to file a bug report for gcc, especially if older versions got this right. > --- > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c index > be50445f9901..c50449882037 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -964,8 +964,6 @@ static int mdp5_plane_mode_set(struct drm_plane *plane, > uint32_t src_x, src_y; > uint32_t src_w, src_h; > uint32_t src_img_w, src_img_h; > - uint32_t src_x_r; > - int crtc_x_r; > int ret; > > nplanes = fb->format->num_planes; > @@ -1010,9 +1008,6 @@ static int mdp5_plane_mode_set(struct drm_plane > *plane, crtc_w /= 2; > src_w /= 2; > src_img_w /= 2; > - > - crtc_x_r = crtc_x + crtc_w; > - src_x_r = src_x + src_w; > } > > ret = calc_scalex_steps(plane, pix_format, src_w, crtc_w, step.x); > @@ -1052,9 +1047,9 @@ static int mdp5_plane_mode_set(struct drm_plane > *plane, if (right_hwpipe) > mdp5_hwpipe_mode_set(mdp5_kms, right_hwpipe, fb, &step, &pe, > config, hdecm, vdecm, hflip, vflip, > - crtc_x_r, crtc_y, crtc_w, crtc_h, > + crtc_x + crtc_w, crtc_y, crtc_w, crtc_h, > src_img_w, src_img_h, > - src_x_r, src_y, src_w, src_h); > + src_x + src_w, src_y, src_w, src_h); > > plane->fb = fb; -- Regards, Laurent Pinchart