public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Denys Vlasenko <dvlasenk@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
	Oleg Nesterov <oleg@redhat.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Alexei Starovoitov <ast@plumgrid.com>,
	Will Drewry <wad@chromium.org>, Kees Cook <keescook@chromium.org>,
	X86 ML <x86@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/4] x86: get rid of KERNEL_STACK_OFFSET
Date: Wed, 25 Feb 2015 10:45:50 +0100	[thread overview]
Message-ID: <20150225094550.GB6676@gmail.com> (raw)
In-Reply-To: <CALCETrV-8JYofFAAzQmzDvm-p9VjBN_miAf9PR7CSTnid8UYNg@mail.gmail.com>


* Andy Lutomirski <luto@amacapital.net> wrote:

> -       BUG_ON(((current_stack_pointer() ^ this_cpu_read_stable(kernel_stack))
> +       BUG_ON(((current_stack_pointer() ^
> +                (this_cpu_read_stable(kernel_stack) - 1))
>                 & ~(THREAD_SIZE - 1)) != 0);
> 
>         preempt_count_sub(HARDIRQ_OFFSET);
> 
> I added that in and applied this patch.

So this is not just slightly buggy, it's fundamentally 
wrong as well as it removes the possibility of an RSP value 
optimization from the 64-bit path, see my previous mail.

The right solution would be to make SAVE_ARGS recognize 
when KERNEL_STACK_OFFSET == args-offset and omit the RSP 
fixup in that case, or to simply use a __SAVE_ARGS for the 
64-bit path, knowing that RSP has the right value already.

Please also add comments that explain the relationship 
between percpu::kernel_stack, KERNEL_STACK_OFFSET and the 
64-bit system call entry code.

Also, guys, please slow down a bit and be more careful. 
Andy, could you please send me all currently pending entry 
bits pending in your tree, because all the in-flight 
changes make it hard for me to review patches? Please 
(re-)send all patches as well as part of the submission.

Thanks,

	Ingo

  reply	other threads:[~2015-02-25  9:45 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24 18:51 [PATCH 1/4] x86: entry.S: tidy up several suboptimal insns Denys Vlasenko
2015-02-24 18:51 ` [PATCH 2/4] x86: get rid of KERNEL_STACK_OFFSET Denys Vlasenko
2015-02-24 19:30   ` Steven Rostedt
2015-02-24 20:02     ` Denys Vlasenko
2015-02-24 22:37   ` Andy Lutomirski
2015-02-25  9:45     ` Ingo Molnar [this message]
2015-02-25 16:14       ` Andy Lutomirski
2015-02-26 11:42         ` Ingo Molnar
2015-02-26 15:21           ` Andy Lutomirski
2015-02-26 15:29             ` Andy Lutomirski
2015-02-25  8:53   ` Ingo Molnar
2015-02-25 12:48     ` Denys Vlasenko
2015-02-25 13:25       ` Denys Vlasenko
2015-02-25 13:53         ` Ingo Molnar
2015-02-24 18:51 ` [PATCH 3/4] x86: save r11 into pt_regs->eflags on SYSCALL64 fastpath Denys Vlasenko
2015-02-24 22:44   ` Andy Lutomirski
2015-02-24 18:51 ` [PATCH 4/4] x86: save user %rsp in pt_regs->sp Denys Vlasenko
2015-02-24 22:55   ` Andy Lutomirski
2015-02-24 19:58 ` [PATCH 1/4] x86: entry.S: tidy up several suboptimal insns Borislav Petkov
2015-02-24 20:13   ` Denys Vlasenko
2015-02-24 20:36     ` Borislav Petkov
2015-02-24 22:51       ` H. Peter Anvin
2015-02-24 22:25 ` Andy Lutomirski
2015-02-24 22:52   ` H. Peter Anvin
2015-02-24 22:56     ` Andy Lutomirski
2015-02-24 23:01       ` H. Peter Anvin
2015-02-24 23:03         ` Andy Lutomirski
2015-02-24 23:26           ` Denys Vlasenko
2015-02-25  9:20     ` Ingo Molnar
2015-02-25  9:27       ` H. Peter Anvin
2015-02-25  9:39         ` Ingo Molnar
2015-02-25 14:43       ` Steven Rostedt
2015-02-25 15:40         ` Denys Vlasenko
2015-02-25 16:01           ` Steven Rostedt
2015-02-25 16:06             ` Borislav Petkov
2015-02-26 11:47             ` Ingo Molnar
2015-02-26 12:47               ` Steven Rostedt
2015-02-26 12:50               ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150225094550.GB6676@gmail.com \
    --to=mingo@kernel.org \
    --cc=ast@plumgrid.com \
    --cc=bp@alien8.de \
    --cc=dvlasenk@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=oleg@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=torvalds@linux-foundation.org \
    --cc=wad@chromium.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox