From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756259AbdAKOvl (ORCPT ); Wed, 11 Jan 2017 09:51:41 -0500 Received: from mout.kundenserver.de ([212.227.126.135]:59575 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751518AbdAKOvd (ORCPT ); Wed, 11 Jan 2017 09:51:33 -0500 From: Arnd Bergmann To: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org Cc: Arnd Bergmann , Denys Vlasenko , Wei Yang , Dan Williams , Toshi Kani , linux-kernel@vger.kernel.org Subject: [PATCH] x86/e820: fix e820_search_gap() error handling on x86-32 Date: Wed, 11 Jan 2017 15:49:04 +0100 Message-Id: <20170111144926.695369-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:HbM45NT10SVBRZ9BTDjJKEmf9hdwM0L0ORutWhLwOcSpXua46/9 AXs1EPUCK5z4c4Z4ihvIawq11ufGwVx48H3dfiDdEvADJGznvmt8JsxbTGVVe/y+NCntyG2 IgpdfwGT/cq+xUle7hm5B0HkeCitCKNhEBabMbte9rD9zii+gYtiTngBsIU9gHs4PtbRYa3 qo4E3WoEfvm9KO7WuJSlg== X-UI-Out-Filterresults: notjunk:1;V01:K0:ejJJF8fMr+0=:J4XEZ83kN51g9zlmZH73BN 2DUw3bR9p4zhLVLsqlbe3tKxiPKEGWN6OO5lSQXreQY/Ok7oyxwUzzL3SLxkCFyvyMCNRnu/R 5GeXsbEv1PpVB08coiY/MmSHoAB4cKocyYSo9PPbHI1NuxEwpMq655UQrIx+NkavhL6gLfsu0 IDSiniwp1tT9Kcc2zYceHsvAlZVODa6hucLzepC+T2nMe/sXygG6iih453dPw5C3ijiZ8sQJQ FJyXL+eyTZJ96l2KVOsKKkGKn+GlSYNw+CgM9qcAWBGebEZsVpr+ZSxH+M8ZUMMkPcx7Mk0mQ cYzfyHtUUlrmwuzPWyIoe6pgXZmElhfuUrnh517S7Iete+wvYjiNrLkBH2i6c+7BtL5Ea0jY6 F4XCqw2MaUXKzCXTbhYDwBemsVLInXFktbKxRfhr8MWRgLOCg5dIJQDAgtHlTtCV3i+o8b5eP DxPUJusWZfyVo5cxOwTm3Cqbmy+AJlY2bX/iGtBSna7ek8pH2DmlBXY9Ko7uWBPyjzGoCmtvc wBj87hhCq2lxRZtppdvuJpXUZzRoNH8yi3fgJg3/bJFeFuc+X7nkjXzj7zB+e9S56Xdmiw598 V6lcNOuxgZaYNu6ex5XQ1XfxhQuGzyzAq0UN2kA2SqcqEkALxXvMn/hHeeqwgI8EXkKkiQb7s IsowT6kmB3cc3e/XfGWiANjgl9VpLVB7X8qGjv+Zo6o29BeX786S/uM0ddprWf04fvsQ= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org gcc correctly points out that on 32-bit kernels, e820_search_gap() not finding a start now leads to pci_mem_start being set to an uninitialized value: arch/x86/kernel/e820.c: In function 'e820_setup_gap': arch/x86/kernel/e820.c:641:16: error: 'gapstart' may be used uninitialized in this function [-Werror=maybe-uninitialized] This restores the behavior from before the cleanup, defaulting to address 0x10000000 if nothing was found. Fixes: b4ed1d15b453 ("x86/e820: Make e820_search_gap() static and remove unused variables") Signed-off-by: Arnd Bergmann --- arch/x86/kernel/e820.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 46f2afd3577a..b2bbad6ebe4d 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -626,14 +626,16 @@ __init void e820_setup_gap(void) gapsize = 0x400000; found = e820_search_gap(&gapstart, &gapsize); -#ifdef CONFIG_X86_64 if (!found) { +#ifdef CONFIG_X86_64 gapstart = (max_pfn << PAGE_SHIFT) + 1024*1024; printk(KERN_ERR "e820: cannot find a gap in the 32bit address range\n" "e820: PCI devices with unassigned 32bit BARs may break!\n"); - } +#else + gapstart = 0x10000000; #endif + } /* * e820_reserve_resources_late protect stolen RAM already -- 2.9.0