Skip to content
  • Andy Lutomirski's avatar
    x86/arch_prctl/64: Remove FSBASE/GSBASE < 4G optimization · 731e33e3
    Andy Lutomirski authored
    
    
    As far as I know, the optimization doesn't work on any modern distro
    because modern distros use high addresses for ASLR.  Remove it.
    
    The ptrace code was either wrong or very strange, but the behavior
    with this patch should be essentially identical to the behavior
    without this patch unless user code goes out of its way to mislead
    ptrace.
    
    On newer CPUs, once the FSGSBASE instructions are enabled, we won't
    want to use the optimized variant anyway.
    
    This isn't actually much of a performance regression, it has no effect
    on normal dynamically linked programs, and it's a considerably
    simplification. It also removes some nasty special cases from code
    that is already way too full of special cases for comfort.
    
    Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/dd1599b08866961dba9d2458faa6bbd7fba471d7.1461698311.git.luto@kernel.org
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    731e33e3