Skip to content
  • Andi Kleen's avatar
    [PATCH] i386/x86-64: Add user_mode checks to profile_pc for oprofile · d5a26017
    Andi Kleen authored
    
    
    Fixes a obscure user space triggerable crash during oprofiling.
    
    Oprofile calls profile_pc from NMIs even when user_mode(regs) is not true and
    the program counter is inside the kernel lock section. This opens
    a race - when a user program jumps to a kernel lock address and
    a NMI happens before the illegal page fault exception is raised
    and the program has a unmapped esp or ebp then the kernel could
    oops. NMIs have a higher priority than exceptions so that could
    happen.
    
    Add user_mode checks to i386/x86-64 profile_pc to prevent that.
    
    Cc: John Levon <levon@movementarian.org>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    d5a26017