Re: [v2 6/7] x86/traps: Fixup general protection faults caused by UMIP

kbuild test robot <[email protected]>
Newsgroups org.kernel.vger.linux-msdos,org.kernel.vger.linux-kernel
Message-ID <201612241208.J4hW0syM%[email protected]>
Hi Ricardo,

[auto build test ERROR on tip/auto-latest]
[also build test ERROR on next-20161223]
[cannot apply to tip/x86/core v4.9]
[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/Ricardo-Neri/x86-enable-User-Mode-Instruction-Prevention/20161224-094338
config: x86_64-rhel (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from arch/x86/tools/test_get_len.c:27:0:
>> arch/x86/include/asm/insn.h:26:23: fatal error: linux/bug.h: No such file or directory
    #include <linux/bug.h>
                          ^
   compilation terminated.
--
   In file included from tools/include/linux/compiler.h:55:0,
                    from arch/x86/include/asm/insn.h:25,
                    from arch/x86/tools/insn_sanity.c:34:
>> tools/include/linux/types.h:28:18: error: conflicting types for 'u64'
    typedef uint64_t u64;
                     ^~~
   In file included from /usr/include/asm-generic/types.h:6:0,
                    from /usr/include/x86_64-linux-gnu/asm/types.h:4,
                    from tools/include/linux/types.h:9,
                    from tools/include/linux/compiler.h:55,
                    from arch/x86/include/asm/insn.h:25,
                    from arch/x86/tools/insn_sanity.c:34:
   include/asm-generic/int-ll64.h:25:28: note: previous declaration of 'u64' was here
    typedef unsigned long long u64;
                               ^~~
   In file included from tools/include/linux/compiler.h:55:0,
                    from arch/x86/include/asm/insn.h:25,
                    from arch/x86/tools/insn_sanity.c:34:
>> tools/include/linux/types.h:29:17: error: conflicting types for 's64'
    typedef int64_t s64;
                    ^~~
   In file included from /usr/include/asm-generic/types.h:6:0,
                    from /usr/include/x86_64-linux-gnu/asm/types.h:4,
                    from tools/include/linux/types.h:9,
                    from tools/include/linux/compiler.h:55,
                    from arch/x86/include/asm/insn.h:25,
                    from arch/x86/tools/insn_sanity.c:34:
   include/asm-generic/int-ll64.h:24:26: note: previous declaration of 's64' was here
    typedef signed long long s64;
                             ^~~
   In file included from tools/include/linux/types.h:4:0,
                    from tools/include/linux/compiler.h:55,
                    from arch/x86/include/asm/insn.h:25,
                    from arch/x86/tools/insn_sanity.c:34:
>> include/linux/stddef.h:10:2: error: expected identifier before numeric constant
     false = 0,
     ^
   In file included from arch/x86/include/asm/ptrace.h:5:0,
                    from arch/x86/include/asm/insn.h:28,
                    from arch/x86/tools/insn_sanity.c:34:
>> arch/x86/include/asm/page_types.h:61:15: error: unknown type name 'phys_addr_t'
    static inline phys_addr_t get_max_mapped(void)
                  ^~~~~~~~~~~
   arch/x86/include/asm/page_types.h: In function 'get_max_mapped':
>> arch/x86/include/asm/page_types.h:63:10: error: 'phys_addr_t' undeclared (first use in this function)
     return (phys_addr_t)max_pfn_mapped << PAGE_SHIFT;
             ^~~~~~~~~~~
   arch/x86/include/asm/page_types.h:63:10: note: each undeclared identifier is reported only once for each function it appears in
>> arch/x86/include/asm/page_types.h:63:22: error: expected ';' before 'max_pfn_mapped'
     return (phys_addr_t)max_pfn_mapped << PAGE_SHIFT;
                         ^~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/insn.h:28:0,
                    from arch/x86/tools/insn_sanity.c:34:
   arch/x86/include/asm/ptrace.h: At top level:
>> arch/x86/include/asm/ptrace.h:33:8: error: redefinition of 'struct pt_regs'
    struct pt_regs {
           ^~~~~~~
   In file included from arch/x86/include/asm/insn.h:26:0,
                    from arch/x86/tools/insn_sanity.c:34:
   include/linux/bug.h:13:8: note: originally defined here
    struct pt_regs;
           ^~~~~~~

vim +33 arch/x86/include/asm/ptrace.h

92bc2056 include/asm-x86/ptrace.h      Harvey Harrison 2008-02-08  27  	unsigned long sp;
92bc2056 include/asm-x86/ptrace.h      Harvey Harrison 2008-02-08  28  	unsigned long ss;
65ea5b03 include/asm-x86/ptrace.h      H. Peter Anvin  2008-01-30  29  };
8fc37f2c include/asm-x86/ptrace.h      Thomas Gleixner 2007-10-23  30  
8fc37f2c include/asm-x86/ptrace.h      Thomas Gleixner 2007-10-23  31  #else /* __i386__ */
8fc37f2c include/asm-x86/ptrace.h      Thomas Gleixner 2007-10-23  32  
65ea5b03 include/asm-x86/ptrace.h      H. Peter Anvin  2008-01-30 @33  struct pt_regs {
e90e147c arch/x86/include/asm/ptrace.h Denys Vlasenko  2015-02-26  34  /*
e90e147c arch/x86/include/asm/ptrace.h Denys Vlasenko  2015-02-26  35   * C ABI says these regs are callee-preserved. They aren't saved on kernel entry
e90e147c arch/x86/include/asm/ptrace.h Denys Vlasenko  2015-02-26  36   * unless syscall needs a complete, fully filled "struct pt_regs".

:::::: The code at line 33 was first introduced by commit
:::::: 65ea5b0349903585bfed9720fa06f5edb4f1cd25 x86: rename the struct pt_regs members for 32/64-bit consistency

:::::: TO: H. Peter Anvin <[email protected]>
:::::: CC: Ingo Molnar <[email protected]>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
.config.gz (application/gzip, 37.4 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.