Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935887AbcKPAfi (ORCPT ); Tue, 15 Nov 2016 19:35:38 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:38712 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934911AbcKPAfe (ORCPT ); Tue, 15 Nov 2016 19:35:34 -0500 MIME-Version: 1.0 In-Reply-To: <20161116112749.061f7424@canb.auug.org.au> References: <20161116112749.061f7424@canb.auug.org.au> From: Kees Cook Date: Tue, 15 Nov 2016 16:35:31 -0800 X-Google-Sender-Auth: JA-sdgpK924l_P3YIOsl7aTVpbs Message-ID: Subject: Re: linux-next: build warning after merge of the pstore tree To: Stephen Rothwell Cc: Linux-Next , LKML , Joel Fernandes Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1988 Lines: 52 On Tue, Nov 15, 2016 at 4:27 PM, Stephen Rothwell wrote: > Hi Kees, > > After merging the pstore tree, today's linux-next build (x86_64 > allmodconfig) produced this warning: > > In file included from include/linux/rcupdate.h:38:0, > from include/linux/idr.h:18, > from include/linux/kernfs.h:14, > from include/linux/sysfs.h:15, > from include/linux/kobject.h:21, > from include/linux/device.h:17, > from fs/pstore/ram_core.c:17: > fs/pstore/ram_core.c: In function 'buffer_size_add': > include/linux/spinlock.h:246:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] > _raw_spin_unlock_irqrestore(lock, flags); \ > ^ > fs/pstore/ram_core.c:78:16: note: 'flags' was declared here > unsigned long flags; > ^ > In file included from include/linux/rcupdate.h:38:0, > from include/linux/idr.h:18, > from include/linux/kernfs.h:14, > from include/linux/sysfs.h:15, > from include/linux/kobject.h:21, > from include/linux/device.h:17, > from fs/pstore/ram_core.c:17: > fs/pstore/ram_core.c: In function 'buffer_start_add': > include/linux/spinlock.h:246:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] > _raw_spin_unlock_irqrestore(lock, flags); \ > ^ > fs/pstore/ram_core.c:56:16: note: 'flags' was declared here > unsigned long flags; > ^ > > Introduced by commit > > 95937ddce59a ("pstore: Allow prz to control need for locking") > > They appear to be a very noisy false positives. :-( Hah. Ironically, I ran sparse against this code to make sure it would be happy with the conditional locking, and totally missed the flags bit. I'll switch it to explicitly initialize flags to silence this. Thanks! -Kees -- Kees Cook Nexus Security