Skip to content
  • Ingo Molnar's avatar
    x86: fix tsc unification buglet with ftrace and stackprotector · 3d0decc4
    Ingo Molnar authored
    Yinghai Lu reported crashes on 64-bit x86:
    
     BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
     IP: [<ffffffff80253b17>] hrtick_start_fair+0x89/0x173
     [...]
    
    And with a long session of debugging and a lot of difficulty, tracked it down
    to this commit:
    
     --------------->
     8fbbc4b4 is first bad commit
     commit 8fbbc4b4
    
    
     Author: Alok Kataria <akataria@vmware.com>
     Date:   Tue Jul 1 11:43:34 2008 -0700
    
         x86: merge tsc_init and clocksource code
     <--------------
    
    The problem is that the TSC unification missed these Makefile rules
    in arch/x86/kernel/Makefile:
    
      # Do not profile debug and lowlevel utilities
      CFLAGS_REMOVE_tsc_64.o = -pg
      CFLAGS_REMOVE_tsc_32.o = -pg
      ...
      CFLAGS_tsc_64.o         := $(nostackp)
      ...
    
    which rules make sure that various instrumentation and debugging
    facilities are disabled for code that might end up in a VDSO - such as
    the TSC code.
    
    Reported-and-bisected-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    
    Conflicts:
    
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    3d0decc4