Re: [PATCH v4 1/4] x86/mm: Adapt MODULES_END based on Fixmap section size

From: kbuild test robot
Date: Thu Feb 16 2017 - 19:37:40 EST


Hi Thomas,

[auto build test ERROR on next-20170216]
[also build test ERROR on v4.10-rc8]
[cannot apply to tip/x86/core kvm/linux-next tip/auto-latest v4.9-rc8 v4.9-rc7 v4.9-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Thomas-Garnier/x86-mm-Adapt-MODULES_END-based-on-Fixmap-section-size/20170217-072759
config: x86_64-randconfig-h0-02170640 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All error/warnings (new ones prefixed by >>):

>> arch/x86/mm/dump_pagetables.c:87:2: error: implicit declaration of function '__fix_to_virt' [-Werror=implicit-function-declaration]
{ MODULES_END, "End Modules" },
^
In file included from arch/x86/include/asm/pgtable_types.h:240:0,
from arch/x86/include/asm/paravirt_types.h:44,
from arch/x86/include/asm/ptrace.h:71,
from arch/x86/include/asm/math_emu.h:4,
from arch/x86/include/asm/processor.h:11,
from arch/x86/include/asm/cpufeature.h:4,
from arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:25,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from include/linux/debugfs.h:18,
from arch/x86/mm/dump_pagetables.c:15:
>> arch/x86/include/asm/pgtable_64_types.h:71:37: error: '__end_of_fixed_addresses' undeclared here (not in a function)
#define MODULES_END __fix_to_virt(__end_of_fixed_addresses + 1)
^
>> arch/x86/mm/dump_pagetables.c:87:4: note: in expansion of macro 'MODULES_END'
{ MODULES_END, "End Modules" },
^
cc1: some warnings being treated as errors

vim +/__fix_to_virt +87 arch/x86/mm/dump_pagetables.c

926e5392b Arjan van de Ven 2008-04-17 9 * This program is free software; you can redistribute it and/or
926e5392b Arjan van de Ven 2008-04-17 10 * modify it under the terms of the GNU General Public License
926e5392b Arjan van de Ven 2008-04-17 11 * as published by the Free Software Foundation; version 2
926e5392b Arjan van de Ven 2008-04-17 12 * of the License.
926e5392b Arjan van de Ven 2008-04-17 13 */
926e5392b Arjan van de Ven 2008-04-17 14
fe770bf03 H. Peter Anvin 2008-04-17 @15 #include <linux/debugfs.h>
fe770bf03 H. Peter Anvin 2008-04-17 16 #include <linux/mm.h>
84e629b66 Paul Gortmaker 2016-07-13 17 #include <linux/init.h>
146fbb766 Andrey Ryabinin 2017-02-10 18 #include <linux/sched.h>
926e5392b Arjan van de Ven 2008-04-17 19 #include <linux/seq_file.h>
926e5392b Arjan van de Ven 2008-04-17 20
926e5392b Arjan van de Ven 2008-04-17 21 #include <asm/pgtable.h>
926e5392b Arjan van de Ven 2008-04-17 22
926e5392b Arjan van de Ven 2008-04-17 23 /*
926e5392b Arjan van de Ven 2008-04-17 24 * The dumper groups pagetable entries of the same type into one, and for
926e5392b Arjan van de Ven 2008-04-17 25 * that it needs to keep some state when walking, and flush this state
926e5392b Arjan van de Ven 2008-04-17 26 * when a "break" in the continuity is found.
926e5392b Arjan van de Ven 2008-04-17 27 */
926e5392b Arjan van de Ven 2008-04-17 28 struct pg_state {
926e5392b Arjan van de Ven 2008-04-17 29 int level;
926e5392b Arjan van de Ven 2008-04-17 30 pgprot_t current_prot;
926e5392b Arjan van de Ven 2008-04-17 31 unsigned long start_address;
926e5392b Arjan van de Ven 2008-04-17 32 unsigned long current_address;
fe770bf03 H. Peter Anvin 2008-04-17 33 const struct addr_marker *marker;
3891a04aa H. Peter Anvin 2014-04-29 34 unsigned long lines;
ef6bea6dd Borislav Petkov 2014-01-18 35 bool to_dmesg;
e1a58320a Stephen Smalley 2015-10-05 36 bool check_wx;
e1a58320a Stephen Smalley 2015-10-05 37 unsigned long wx_pages;
926e5392b Arjan van de Ven 2008-04-17 38 };
926e5392b Arjan van de Ven 2008-04-17 39
fe770bf03 H. Peter Anvin 2008-04-17 40 struct addr_marker {
fe770bf03 H. Peter Anvin 2008-04-17 41 unsigned long start_address;
fe770bf03 H. Peter Anvin 2008-04-17 42 const char *name;
3891a04aa H. Peter Anvin 2014-04-29 43 unsigned long max_lines;
fe770bf03 H. Peter Anvin 2008-04-17 44 };
926e5392b Arjan van de Ven 2008-04-17 45
92851e2fc Andres Salomon 2010-07-20 46 /* indices for address_markers; keep sync'd w/ address_markers below */
92851e2fc Andres Salomon 2010-07-20 47 enum address_markers_idx {
92851e2fc Andres Salomon 2010-07-20 48 USER_SPACE_NR = 0,
92851e2fc Andres Salomon 2010-07-20 49 #ifdef CONFIG_X86_64
92851e2fc Andres Salomon 2010-07-20 50 KERNEL_SPACE_NR,
92851e2fc Andres Salomon 2010-07-20 51 LOW_KERNEL_NR,
92851e2fc Andres Salomon 2010-07-20 52 VMALLOC_START_NR,
92851e2fc Andres Salomon 2010-07-20 53 VMEMMAP_START_NR,
8a5a5d153 Mathias Krause 2014-09-07 54 # ifdef CONFIG_X86_ESPFIX64
3891a04aa H. Peter Anvin 2014-04-29 55 ESPFIX_START_NR,
8a5a5d153 Mathias Krause 2014-09-07 56 # endif
92851e2fc Andres Salomon 2010-07-20 57 HIGH_KERNEL_NR,
92851e2fc Andres Salomon 2010-07-20 58 MODULES_VADDR_NR,
92851e2fc Andres Salomon 2010-07-20 59 MODULES_END_NR,
92851e2fc Andres Salomon 2010-07-20 60 #else
92851e2fc Andres Salomon 2010-07-20 61 KERNEL_SPACE_NR,
92851e2fc Andres Salomon 2010-07-20 62 VMALLOC_START_NR,
92851e2fc Andres Salomon 2010-07-20 63 VMALLOC_END_NR,
92851e2fc Andres Salomon 2010-07-20 64 # ifdef CONFIG_HIGHMEM
92851e2fc Andres Salomon 2010-07-20 65 PKMAP_BASE_NR,
92851e2fc Andres Salomon 2010-07-20 66 # endif
92851e2fc Andres Salomon 2010-07-20 67 FIXADDR_START_NR,
92851e2fc Andres Salomon 2010-07-20 68 #endif
92851e2fc Andres Salomon 2010-07-20 69 };
92851e2fc Andres Salomon 2010-07-20 70
fe770bf03 H. Peter Anvin 2008-04-17 71 /* Address space markers hints */
fe770bf03 H. Peter Anvin 2008-04-17 72 static struct addr_marker address_markers[] = {
fe770bf03 H. Peter Anvin 2008-04-17 73 { 0, "User Space" },
fe770bf03 H. Peter Anvin 2008-04-17 74 #ifdef CONFIG_X86_64
fe770bf03 H. Peter Anvin 2008-04-17 75 { 0x8000000000000000UL, "Kernel Space" },
0483e1fa6 Thomas Garnier 2016-06-21 76 { 0/* PAGE_OFFSET */, "Low Kernel Mapping" },
0483e1fa6 Thomas Garnier 2016-06-21 77 { 0/* VMALLOC_START */, "vmalloc() Area" },
0483e1fa6 Thomas Garnier 2016-06-21 78 { 0/* VMEMMAP_START */, "Vmemmap" },
8a5a5d153 Mathias Krause 2014-09-07 79 # ifdef CONFIG_X86_ESPFIX64
3891a04aa H. Peter Anvin 2014-04-29 80 { ESPFIX_BASE_ADDR, "ESPfix Area", 16 },
8a5a5d153 Mathias Krause 2014-09-07 81 # endif
8266e31ed Mathias Krause 2014-09-21 82 # ifdef CONFIG_EFI
8266e31ed Mathias Krause 2014-09-21 83 { EFI_VA_END, "EFI Runtime Services" },
8266e31ed Mathias Krause 2014-09-21 84 # endif
fe770bf03 H. Peter Anvin 2008-04-17 85 { __START_KERNEL_map, "High Kernel Mapping" },
9a79cf9c1 Yinghai Lu 2008-03-07 86 { MODULES_VADDR, "Modules" },
9a79cf9c1 Yinghai Lu 2008-03-07 @87 { MODULES_END, "End Modules" },
fe770bf03 H. Peter Anvin 2008-04-17 88 #else
fe770bf03 H. Peter Anvin 2008-04-17 89 { PAGE_OFFSET, "Kernel Mapping" },
fe770bf03 H. Peter Anvin 2008-04-17 90 { 0/* VMALLOC_START */, "vmalloc() Area" },

:::::: The code at line 87 was first introduced by commit
:::::: 9a79cf9c1aa671325fa5ba37576c2cee23823d04 x86: sort address_markers for dump_pagetables

:::::: TO: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip