lkml.org 
[lkml]   [2015]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/5] x86: get rid of KERNEL_STACK_OFFSET
    On Thu, Mar 19, 2015 at 06:17:46PM +0100, Denys Vlasenko wrote:
    > PER_CPU_VAR(kernel_stack) was set up in a way where it points
    > five stack slots below the top of stack.
    >
    > Presumably, it was done to avoid one "sub $5*8,%rsp"
    > in syscall/sysenter code paths, where iret frame needs to be
    > created by hand.
    >
    > Ironically, none of them benefits from this optimization,
    > since all of them need to allocate additional data on stack
    > (struct pt_regs), so they still have to perform subtraction.
    >
    > This patch eliminates KERNEL_STACK_OFFSET.
    >
    > PER_CPU_VAR(kernel_stack) now points directly to top of stack.
    > pt_regs allocations are adjusted to allocate iret frame as well.
    > Hopefully we can merge it later with 32-bit specific
    > PER_CPU_VAR(cpu_current_top_of_stack) variable...
    >
    > Net result in generated code is that constants in several insns
    > are changed.
    >
    > This change is necessary for changing struct pt_regs creation
    > in SYSCALL64 code path from MOV to PUSH instructions.
    >
    > Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
    > CC: Linus Torvalds <torvalds@linux-foundation.org>
    > CC: Steven Rostedt <rostedt@goodmis.org>
    > CC: Ingo Molnar <mingo@kernel.org>
    > CC: Borislav Petkov <bp@alien8.de>
    > CC: "H. Peter Anvin" <hpa@zytor.com>
    > CC: Andy Lutomirski <luto@amacapital.net>
    > CC: Oleg Nesterov <oleg@redhat.com>
    > CC: Frederic Weisbecker <fweisbec@gmail.com>
    > CC: Alexei Starovoitov <ast@plumgrid.com>
    > CC: Will Drewry <wad@chromium.org>
    > CC: Kees Cook <keescook@chromium.org>
    > CC: x86@kernel.org
    > CC: linux-kernel@vger.kernel.org

    Acked-by: Borislav Petkov <bp@suse.de>

    --
    Regards/Gruss,
    Boris.

    ECO tip #101: Trim your mails when you reply.
    --


    \
     
     \ /
      Last update: 2015-03-20 17:41    [W:3.087 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site