From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965220AbcJXUc0 (ORCPT ); Mon, 24 Oct 2016 16:32:26 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:33996 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753826AbcJXUcV (ORCPT ); Mon, 24 Oct 2016 16:32:21 -0400 Date: Mon, 24 Oct 2016 22:32:18 +0200 From: Michal Hocko To: Arnd Bergmann Cc: Hugh Dickins , Andrew Morton , Al Viro , "Kirill A. Shutemov" , Andreas Gruenbacher , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] shmem: avoid maybe-uninitialized warning Message-ID: <20161024203218.GF13148@dhcp22.suse.cz> References: <20161024152511.2597880-1-arnd@arndb.de> <20161024162243.GA13148@dhcp22.suse.cz> <4142781.4gMiS9Brv9@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4142781.4gMiS9Brv9@wuerfel> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon 24-10-16 21:42:36, Arnd Bergmann wrote: > On Monday, October 24, 2016 6:22:44 PM CEST Michal Hocko wrote: > > On Mon 24-10-16 17:25:03, Arnd Bergmann wrote: > > > After enabling -Wmaybe-uninitialized warnings, we get a false-postive > > > warning for shmem: > > > > > > mm/shmem.c: In function ‘shmem_getpage_gfp’: > > > include/linux/spinlock.h:332:21: error: ‘info’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > > > > Is this really a false positive? If we goto clear and then > > if (sgp <= SGP_CACHE && > > ((loff_t)index << PAGE_SHIFT) >= i_size_read(inode)) { > > if (alloced) { > > > > we could really take a spinlock on an unitialized variable. But maybe > > there is something that prevents from that... > > I did the patch a few weeks ago (I sent the more important > ones out first) and I think I concluded then that 'alloced' > would be false in that case. OK, I guess you are right and alloced is set only after info has been already initialized. So this really looks like a false positive. > > > Anyway the whole shmem_getpage_gfp is really hard to follow due to gotos > > and labels proliferation. > > Exactly. Maybe we should mark the patch for -stable backports after all > just to be sure. I am not really sure a stable backport is really necessary but a cleanup in this area would be more than welcome. At least from me ;) -- Michal Hocko SUSE Labs