From: Ingo Molnar <mingo@kernel.org>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Andy Lutomirski <luto@kernel.org>,
Nicolai Stange <nstange@suse.de>,
Thomas Gleixner <tglx@linutronix.de>,
Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, Jiri Kosina <jikos@kernel.org>,
Miroslav Benes <mbenes@suse.cz>, Petr Mladek <pmladek@suse.com>,
Joe Lawrence <joe.lawrence@redhat.com>,
Shuah Khan <shuah@kernel.org>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Tim Chen <tim.c.chen@linux.intel.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Mimi Zohar <zohar@linux.ibm.com>, Juergen Gross <jgross@suse.com>,
Nick Desaulniers <ndesaulniers@google.com>,
Nayna Jain <nayna@linux.ibm.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Joerg Roedel <jroedel@suse.de>,
linux-kselftest@vger.kernel.org,
Masami Hiramatsu <mhiramat@kernel.org>
Subject: Re: [RFC][PATCH 4/4] x86_32: Provide consistent pt_regs
Date: Wed, 8 May 2019 14:46:45 +0200 [thread overview]
Message-ID: <20190508124645.GA76848@gmail.com> (raw)
In-Reply-To: <20190508115759.yvxjgsqriez4z22l@treble>
* Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> On Wed, May 08, 2019 at 09:49:05AM +0200, Peter Zijlstra wrote:
> > Currently pt_regs on x86_32 has an oddity in that kernel regs
> > (!user_mode(regs)) are short two entries (esp/ss). This means that any
> > code trying to use them (typically: regs->sp) needs to jump through
> > some unfortunate hoops.
> >
> > Change the entry code to fix this up and create a full pt_regs frame.
> >
> > This then simplifies:
> >
> > - ftrace
> > - kprobes
> > - stack unwinder
> > - ptrace
> > - kdump
> > - kgdb
> >
> > Hated-by: Linus Torvalds <torvalds@linux-foundation.org>
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> > ---
> > arch/x86/entry/entry_32.S | 105 ++++++++++++++++++++++++++++++++++----
> > arch/x86/include/asm/kexec.h | 17 ------
> > arch/x86/include/asm/ptrace.h | 17 ------
> > arch/x86/include/asm/stacktrace.h | 2
> > arch/x86/kernel/crash.c | 8 --
> > arch/x86/kernel/ftrace_32.S | 81 ++++++++++++++++-------------
> > arch/x86/kernel/kgdb.c | 8 --
> > arch/x86/kernel/kprobes/common.h | 4 -
> > arch/x86/kernel/kprobes/core.c | 29 ++++------
> > arch/x86/kernel/kprobes/opt.c | 20 ++++---
> > arch/x86/kernel/process_32.c | 16 +----
> > arch/x86/kernel/ptrace.c | 29 ----------
> > arch/x86/kernel/time.c | 3 -
> > arch/x86/kernel/unwind_frame.c | 32 +----------
> > arch/x86/kernel/unwind_orc.c | 2
> > 15 files changed, 181 insertions(+), 192 deletions(-)
>
> Very nice diffstat. This moves all the pain to the 32-bit entry code
> where it belongs.
Yes, that's very convincing and looks like a nice simplification of
32-bit x86 entry concepts overall.
Assuming it's correct, the question is whether Linus still hates it? :-)
Thanks,
Ingo
next prev parent reply other threads:[~2019-05-08 12:46 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-08 7:49 [PATCH 0/4] x86: int3 fallout peterz
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` [PATCH 1/4] x86/entry/32: Clean up return from interrupt preemption path peterz
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` [PATCH 2/4] x86/kprobes: Fix frame pointer annotations peterz
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 11:54 ` jpoimboe
2019-05-08 11:54 ` Josh Poimboeuf
2019-05-08 11:54 ` Josh Poimboeuf
2019-05-08 12:04 ` peterz
2019-05-08 12:04 ` Peter Zijlstra
2019-05-08 12:04 ` Peter Zijlstra
2019-05-08 12:40 ` Peter Zijlstra
2019-05-08 12:42 ` Josh Poimboeuf
2019-05-08 15:39 ` Peter Zijlstra
2019-05-08 18:48 ` jpoimboe
2019-05-08 18:48 ` Josh Poimboeuf
2019-05-08 18:48 ` Josh Poimboeuf
2019-05-09 1:20 ` mhiramat
2019-05-09 1:20 ` Masami Hiramatsu
2019-05-09 1:20 ` Masami Hiramatsu
2019-05-09 8:14 ` peterz
2019-05-09 8:14 ` Peter Zijlstra
2019-05-09 8:14 ` Peter Zijlstra
2019-05-09 9:27 ` peterz
2019-05-09 9:27 ` Peter Zijlstra
2019-05-09 9:27 ` Peter Zijlstra
2019-05-09 14:00 ` jpoimboe
2019-05-09 14:00 ` Josh Poimboeuf
2019-05-09 14:00 ` Josh Poimboeuf
2019-05-09 14:01 ` mhiramat
2019-05-09 14:01 ` Masami Hiramatsu
2019-05-09 14:01 ` Masami Hiramatsu
2019-05-09 17:14 ` peterz
2019-05-09 17:14 ` Peter Zijlstra
2019-05-09 17:14 ` Peter Zijlstra
2019-05-10 4:58 ` mhiramat
2019-05-10 4:58 ` Masami Hiramatsu
2019-05-10 4:58 ` Masami Hiramatsu
2019-05-10 12:31 ` peterz
2019-05-10 12:31 ` Peter Zijlstra
2019-05-10 12:31 ` Peter Zijlstra
2019-05-11 0:52 ` mhiramat
2019-05-11 0:52 ` Masami Hiramatsu
2019-05-11 0:52 ` Masami Hiramatsu
2019-05-10 12:40 ` peterz
2019-05-10 12:40 ` Peter Zijlstra
2019-05-10 12:40 ` Peter Zijlstra
2019-05-11 0:56 ` mhiramat
2019-05-11 0:56 ` Masami Hiramatsu
2019-05-11 0:56 ` Masami Hiramatsu
2019-05-13 8:15 ` peterz
2019-05-13 8:15 ` Peter Zijlstra
2019-05-13 8:15 ` Peter Zijlstra
2019-05-09 16:20 ` luto
2019-05-09 16:20 ` Andy Lutomirski
2019-05-09 16:20 ` Andy Lutomirski
2019-05-09 17:18 ` peterz
2019-05-09 17:18 ` Peter Zijlstra
2019-05-09 17:18 ` Peter Zijlstra
2019-05-09 17:43 ` rostedt
2019-05-09 17:43 ` Steven Rostedt
2019-05-09 17:43 ` Steven Rostedt
2019-05-10 3:21 ` mhiramat
2019-05-10 3:21 ` Masami Hiramatsu
2019-05-10 3:21 ` Masami Hiramatsu
2019-05-10 12:14 ` peterz
2019-05-10 12:14 ` Peter Zijlstra
2019-05-10 12:14 ` Peter Zijlstra
2019-05-10 12:17 ` peterz
2019-05-10 12:17 ` Peter Zijlstra
2019-05-10 12:17 ` Peter Zijlstra
2019-05-10 14:54 ` rostedt
2019-05-10 14:54 ` Steven Rostedt
2019-05-10 14:54 ` Steven Rostedt
2019-05-09 17:37 ` rostedt
2019-05-09 17:37 ` Steven Rostedt
2019-05-09 17:37 ` Steven Rostedt
2019-05-09 18:26 ` peterz
2019-05-09 18:26 ` Peter Zijlstra
2019-05-09 18:26 ` Peter Zijlstra
2019-05-09 18:36 ` rostedt
2019-05-09 18:36 ` Steven Rostedt
2019-05-09 18:36 ` Steven Rostedt
2019-05-08 7:49 ` [PATCH 3/4] x86/ftrace: Add pt_regs frame annotations peterz
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` [RFC][PATCH 4/4] x86_32: Provide consistent pt_regs peterz
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 7:49 ` Peter Zijlstra
2019-05-08 11:57 ` jpoimboe
2019-05-08 11:57 ` Josh Poimboeuf
2019-05-08 11:57 ` Josh Poimboeuf
2019-05-08 12:46 ` Ingo Molnar [this message]
2019-05-08 20:58 ` torvalds
2019-05-08 20:58 ` Linus Torvalds
2019-05-08 20:58 ` Linus Torvalds
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=20190508124645.GA76848@gmail.com \
--to=mingo@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=bigeasy@linutronix.de \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=jikos@kernel.org \
--cc=joe.lawrence@redhat.com \
--cc=jpoimboe@redhat.com \
--cc=jroedel@suse.de \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mbenes@suse.cz \
--cc=mhiramat@kernel.org \
--cc=nayna@linux.ibm.com \
--cc=ndesaulniers@google.com \
--cc=nstange@suse.de \
--cc=peterz@infradead.org \
--cc=pmladek@suse.com \
--cc=shuah@kernel.org \
--cc=tglx@linutronix.de \
--cc=tim.c.chen@linux.intel.com \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
--cc=yamada.masahiro@socionext.com \
--cc=zohar@linux.ibm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.