From patchwork Mon Oct 24 15:25:03 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 101628 Delivered-To: patch@linaro.org Received: by 10.140.97.247 with SMTP id m110csp2637623qge; Mon, 24 Oct 2016 08:25:57 -0700 (PDT) X-Received: by 10.98.70.208 with SMTP id o77mr29749095pfi.177.1477322757226; Mon, 24 Oct 2016 08:25:57 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o135si15869027pfg.19.2016.10.24.08.25.56; Mon, 24 Oct 2016 08:25:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757796AbcJXPZr (ORCPT + 27 others); Mon, 24 Oct 2016 11:25:47 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:57257 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757657AbcJXPZp (ORCPT ); Mon, 24 Oct 2016 11:25:45 -0400 Received: from wuerfel.lan. ([78.43.20.153]) by mrelayeu.kundenserver.de (mreue004) with ESMTPA (Nemesis) id 0MFOim-1cAlwm2fyO-00EJjZ; Mon, 24 Oct 2016 17:25:16 +0200 From: Arnd Bergmann To: Hugh Dickins Cc: Arnd Bergmann , Andrew Morton , Al Viro , "Kirill A. Shutemov" , Michal Hocko , Andreas Gruenbacher , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] shmem: avoid maybe-uninitialized warning Date: Mon, 24 Oct 2016 17:25:03 +0200 Message-Id: <20161024152511.2597880-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 MIME-Version: 1.0 X-Provags-ID: V03:K0:JYNKWZxHvXQyHuiyyC3jx3G/npR741aeMBEGhazfxEM9W3qmyY7 brF6iKh8XAR6X3zJVzBir/3PbFKnyQjJO9gLvCj9iY43cCCZsSis4vr6cDGc1yBTJ5yB68T y+FwEKp0/ML3AGW9AMtxDPHDp6U9rwJpOO3aKJzTel0mfbxZbALRfFfXGuGKHqVu9lZ5UXl DChdCLw6UbDy4r6rPFctQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:pubQDLsgCic=:r9hPlxkBJzerQsnhyOPO8c 7KjuA838knk8SSX7WnccM6SUABmv+6hnoNhwVev22X26e3dR0yAO8EI9WPPG45pUBqyM42p9P U/UyI9GmHcrsfcPamwCge5RH3h3fV13Zl3HUy2+x9rIFWymnM92IbwKuB1ZA7wXQEnZ/mWKB8 7jjGRGQAAcAPULkalwbuEbs9ZgjjjcA1svRlHhtDqgewJG41PNDB0MXJ644N63AErcTHksnan Qjy/SuG/mMA98zNh5CBlqoU0pVIBMZPyMxN+3WfnA0ktXDHrlsd3icVCFutdp7xCUx1gdrhtX fNnDlvjdvff1SfOZf5Sh4u62qyX94tiwOF8r1PLNm1cupSQ/b24obulGIM8izaRlHlPwwudgv Q2QpLdMmBjatNq644UWUfhsgcJ4i77ZvUsWsDfwfGxCecBPR7c9v+0lWa3Q2fUAYPBVu4nw/o x2mDV2Q/AXBjSuhBf7Yq9RXssHQNfj7WIaDpxw6iNNfIHDIHaEGm+gssKcUo0SI50ZCZy/pYZ 0TaCFkudF1TjzcSoab+k3JfG3tRcmpIHN1cf8Jh+394c0ndejo9A3vWmBuoVqqptvhhIKYBKn s0eq8Bnz+MmLYQIPeI4qk94mCca0TVHAqa+alooIjZJoN9AWjXTpvYRlxnQHd1J7WG1Wc5Ak0 UPZU8F26NHdUolP11tgMvCLex0zuUZ5L0+mr1dfHqXTgSXo8qL6MtKMNkgWpcE/wC7XiJ/4Ws dRgxNDU34ZNLSVgh Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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] This can be easily avoided, since the correct 'info' pointer is known at the time we first enter the function, so we can simply move the initialization up. Moving it before the first label avoids the warning. Signed-off-by: Arnd Bergmann --- mm/shmem.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 2.9.0 diff --git a/mm/shmem.c b/mm/shmem.c index ad7813d73ea7..69e6777096a3 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1537,7 +1537,7 @@ static int shmem_getpage_gfp(struct inode *inode, pgoff_t index, struct mm_struct *fault_mm, int *fault_type) { struct address_space *mapping = inode->i_mapping; - struct shmem_inode_info *info; + struct shmem_inode_info *info = SHMEM_I(inode); struct shmem_sb_info *sbinfo; struct mm_struct *charge_mm; struct mem_cgroup *memcg; @@ -1587,7 +1587,6 @@ static int shmem_getpage_gfp(struct inode *inode, pgoff_t index, * Fast cache lookup did not find it: * bring it back from swap or allocate. */ - info = SHMEM_I(inode); sbinfo = SHMEM_SB(inode->i_sb); charge_mm = fault_mm ? : current->mm;