tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/apic
head:   6acaab8814cf6c7f77c1ee2e1ed266509573d5b4
commit: 8f1d566bc1f0f6e055a46728bfd906dd74a3f74c [37/46] x86/idt: Switch early 
trap init to IDT tables
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 8f1d566bc1f0f6e055a46728bfd906dd74a3f74c
        # save the attached .config to linux build tree
        make ARCH=x86_64 

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

   arch/x86/kernel/traps.c: In function 'do_device_not_available':
>> arch/x86/kernel/traps.c:892:1: error: 'xo' undeclared (first use in this 
>> function)
    xo if (WARN(cr0 & X86_CR0_TS, "CR0.TS was set")) {
    ^~
   arch/x86/kernel/traps.c:892:1: note: each undeclared identifier is reported 
only once for each function it appears in
>> arch/x86/kernel/traps.c:892:4: error: expected ';' before 'if'
    xo if (WARN(cr0 & X86_CR0_TS, "CR0.TS was set")) {
       ^~
   arch/x86/kernel/traps.c: At top level:
>> arch/x86/kernel/traps.c:926:1: warning: data definition has no type or 
>> storage class
    xovoid __init trap_init(void)
    ^~~~~~
>> arch/x86/kernel/traps.c:926:1: error: type defaults to 'int' in declaration 
>> of 'xovoid' [-Werror=implicit-int]
>> arch/x86/kernel/traps.c:926:1: warning: '__cold__' attribute ignored 
>> [-Wattributes]
>> arch/x86/kernel/traps.c:926:15: error: expected ',' or ';' before 'trap_init'
    xovoid __init trap_init(void)
                  ^~~~~~~~~
   cc1: some warnings being treated as errors

vim +/xo +892 arch/x86/kernel/traps.c

   889  
   890          /* This should not happen. */
   891          cr0 = read_cr0();
 > 892  xo      if (WARN(cr0 & X86_CR0_TS, "CR0.TS was set")) {
   893                  /* Try to fix it up and carry on. */
   894                  write_cr0(cr0 & ~X86_CR0_TS);
   895          } else {
   896                  /*
   897                   * Something terrible happened, and we're better off 
trying
   898                   * to kill the task than getting stuck in a never-ending
   899                   * loop of #NM faults.
   900                   */
   901                  die("unexpected #NM exception", regs, error_code);
   902          }
   903  }
   904  NOKPROBE_SYMBOL(do_device_not_available);
   905  
   906  #ifdef CONFIG_X86_32
   907  dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
   908  {
   909          siginfo_t info;
   910  
   911          RCU_LOCKDEP_WARN(!rcu_is_watching(), "entry code didn't wake 
RCU");
   912          local_irq_enable();
   913  
   914          info.si_signo = SIGILL;
   915          info.si_errno = 0;
   916          info.si_code = ILL_BADSTK;
   917          info.si_addr = NULL;
   918          if (notify_die(DIE_TRAP, "iret exception", regs, error_code,
   919                          X86_TRAP_IRET, SIGILL) != NOTIFY_STOP) {
   920                  do_trap(X86_TRAP_IRET, SIGILL, "iret exception", regs, 
error_code,
   921                          &info);
   922          }
   923  }
   924  #endif
   925  
 > 926  xovoid __init trap_init(void)
   927  {
   928          int i;
   929  
   930          set_intr_gate(X86_TRAP_DE, divide_error);
   931          set_intr_gate_ist(X86_TRAP_NMI, &nmi, NMI_STACK);
   932          /* int4 can be called from all */
   933          set_system_intr_gate(X86_TRAP_OF, &overflow);
   934          set_intr_gate(X86_TRAP_BR, bounds);
   935          set_intr_gate(X86_TRAP_UD, invalid_op);
   936          set_intr_gate(X86_TRAP_NM, device_not_available);
   937  #ifdef CONFIG_X86_32
   938          set_task_gate(X86_TRAP_DF, GDT_ENTRY_DOUBLEFAULT_TSS);
   939  #else
   940          set_intr_gate_ist(X86_TRAP_DF, &double_fault, 
DOUBLEFAULT_STACK);
   941  #endif
   942          set_intr_gate(X86_TRAP_OLD_MF, coprocessor_segment_overrun);
   943          set_intr_gate(X86_TRAP_TS, invalid_TSS);
   944          set_intr_gate(X86_TRAP_NP, segment_not_present);
   945          set_intr_gate(X86_TRAP_SS, stack_segment);
   946          set_intr_gate(X86_TRAP_GP, general_protection);
   947          set_intr_gate(X86_TRAP_SPURIOUS, spurious_interrupt_bug);
   948          set_intr_gate(X86_TRAP_MF, coprocessor_error);
   949          set_intr_gate(X86_TRAP_AC, alignment_check);
   950  #ifdef CONFIG_X86_MCE
   951          set_intr_gate_ist(X86_TRAP_MC, &machine_check, MCE_STACK);
   952  #endif
   953          set_intr_gate(X86_TRAP_XF, simd_coprocessor_error);
   954  
   955          /* Reserve all the builtin and the syscall vector: */
   956          for (i = 0; i < FIRST_EXTERNAL_VECTOR; i++)
   957                  set_bit(i, used_vectors);
   958  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to