From: Peter Zijlstra <peterz@infradead.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Vince Weaver <vincent.weaver@maine.edu>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@redhat.com>, Jiri Olsa <jolsa@redhat.com>,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Subject: Re: perf_fuzzer compiled for x32 causes reboot
Date: Fri, 28 Feb 2014 21:56:38 +0100 [thread overview]
Message-ID: <20140228205638.GD14089@laptop.programming.kicks-ass.net> (raw)
In-Reply-To: <20140228112946.1f194397@gandalf.local.home>
On Fri, Feb 28, 2014 at 11:29:46AM -0500, Steven Rostedt wrote:
> On Fri, 28 Feb 2014 08:15:11 -0800
> "H. Peter Anvin" <hpa@zytor.com> wrote:
>
> > Well, I was talking about the assumption spelled out in the comment
> > above copy_from_user_nmi() which pretty much states "cr2 is safe because
> > cr2 is saved/restored in the NMI wrappers."
>
> Yeah, it seems that the name "copy_from_user_nmi()" is a misnomer. As
> it can be called outside of nmi context. Perhaps we should have a
> copy_from_user_trace() that does the save and restore of the cr2.
>
> As that's the only place that faults, it may be the best answer.
>
> Arnaldo,
>
> Can you test this patch and see if it fixes the bug for you too. Vince
> already said it fixes it for him.
>
> I'm attaching it below (it's from H. Peter).
>
> Peter Z., as both Jiri's and my patch fixed the callers of the problem
> area, and as we have been discussing, there may be more problem areas,
> I'm thinking the best solution is to just use H. Peter's patch instead.
> And then we should rename it to copy_from_user_trace().
Like already said; _trace is an absolutely abysmal name. Also you
_really_ don't want an unconditional CR2 write in there, that's just
stupidly expensive.
Also, this function is called a _LOT_ under certain workloads, I don't
know how cheap a CR2 read is, but it had better be really cheap.
next prev parent reply other threads:[~2014-02-28 20:56 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-21 20:25 perf_fuzzer causes reboot Vince Weaver
2014-02-21 22:13 ` perf_fuzzer compiled for x32 " Vince Weaver
2014-02-21 22:34 ` Vince Weaver
2014-02-22 4:50 ` Vince Weaver
2014-02-22 5:03 ` H. Peter Anvin
2014-02-22 6:26 ` H. Peter Anvin
2014-02-23 5:18 ` Vince Weaver
2014-02-23 5:24 ` H. Peter Anvin
2014-02-23 6:07 ` H. Peter Anvin
2014-02-23 14:05 ` Vince Weaver
2014-02-24 3:02 ` Vince Weaver
2014-02-24 5:22 ` H. Peter Anvin
2014-02-24 15:35 ` Vince Weaver
2014-02-24 16:34 ` Vince Weaver
2014-02-24 16:47 ` H. Peter Anvin
2014-02-24 17:10 ` Vince Weaver
2014-02-24 17:25 ` Peter Zijlstra
2014-02-24 17:32 ` Vince Weaver
2014-02-24 17:40 ` H. Peter Anvin
2014-02-24 18:00 ` Vince Weaver
2014-02-24 18:07 ` Vince Weaver
2014-02-24 18:34 ` H. Peter Anvin
2014-02-24 19:13 ` Steven Rostedt
2014-02-24 19:15 ` H. Peter Anvin
2014-02-24 19:30 ` Peter Zijlstra
2014-02-24 19:32 ` Steven Rostedt
2014-02-25 3:49 ` H. Peter Anvin
2014-02-25 14:07 ` Vince Weaver
2014-02-25 14:34 ` H. Peter Anvin
2014-02-25 14:43 ` Steven Rostedt
2014-02-25 15:33 ` Vince Weaver
2014-02-26 15:06 ` Vince Weaver
2014-02-27 22:06 ` Vince Weaver
2014-02-27 22:31 ` Steven Rostedt
2014-02-27 22:52 ` H. Peter Anvin
2014-02-27 23:30 ` Steven Rostedt
2014-02-27 23:46 ` H. Peter Anvin
2014-02-28 1:00 ` Vince Weaver
2014-02-28 20:34 ` Paul E. McKenney
2014-02-28 20:47 ` Steven Rostedt
2014-02-28 20:54 ` Peter Zijlstra
2014-02-28 21:17 ` Paul E. McKenney
2014-02-28 21:27 ` Peter Zijlstra
2014-02-28 21:51 ` Paul E. McKenney
2014-02-28 21:55 ` Peter Zijlstra
2014-02-28 22:05 ` Steven Rostedt
2014-02-28 22:23 ` Paul E. McKenney
2014-02-28 1:34 ` Vince Weaver
2014-02-28 2:17 ` H. Peter Anvin
2014-02-28 2:57 ` Steven Rostedt
2014-02-28 11:11 ` Peter Zijlstra
2014-02-28 13:37 ` Steven Rostedt
2014-02-28 14:15 ` Vince Weaver
2014-02-28 14:23 ` Steven Rostedt
2014-02-28 15:07 ` Vince Weaver
2014-02-28 15:13 ` H. Peter Anvin
2014-02-28 15:40 ` Peter Zijlstra
2014-02-28 16:15 ` H. Peter Anvin
2014-02-28 16:29 ` Steven Rostedt
2014-02-28 19:33 ` [PATCH] x86: Rename copy_from_user_nmi() to copy_from_user_trace() Steven Rostedt
2014-02-28 20:46 ` Peter Zijlstra
2014-02-28 20:51 ` Steven Rostedt
2014-02-28 20:58 ` Peter Zijlstra
2014-02-28 21:01 ` Steven Rostedt
2014-02-28 21:17 ` Peter Zijlstra
2014-02-28 20:56 ` Peter Zijlstra [this message]
2014-02-28 21:06 ` perf_fuzzer compiled for x32 causes reboot Steven Rostedt
2014-03-01 9:16 ` Ingo Molnar
2014-03-01 9:50 ` Borislav Petkov
2014-03-01 16:50 ` H. Peter Anvin
2014-03-04 23:05 ` Borislav Petkov
2014-03-03 9:16 ` Peter Zijlstra
2014-02-28 20:55 ` Peter Zijlstra
2014-02-28 15:20 ` Steven Rostedt
2014-02-28 15:30 ` Steven Rostedt
2014-02-28 20:38 ` H. Peter Anvin
2014-02-28 20:46 ` Steven Rostedt
2014-02-28 21:18 ` Vince Weaver
2014-02-28 21:30 ` Steven Rostedt
2014-02-28 23:34 ` Vince Weaver
2014-03-01 0:43 ` H. Peter Anvin
2014-03-01 3:36 ` Steven Rostedt
2014-03-01 16:24 ` Andi Kleen
2014-03-02 15:34 ` Vince Weaver
2014-03-02 16:02 ` Vince Weaver
2014-02-28 9:39 ` Peter Zijlstra
2014-02-24 17:40 ` Peter Zijlstra
2014-02-24 17:41 ` Vince Weaver
2014-02-24 17:42 ` H. Peter Anvin
2014-02-24 17:52 ` H. Peter Anvin
-- strict thread matches above, loose matches on Subject: below --
2014-02-28 15:33 [PATCH] x86 trace: Fix page fault tracing bug Jiri Olsa
2014-02-28 15:47 ` Peter Zijlstra
2014-02-28 16:05 ` [PATCHv2] " Jiri Olsa
2014-02-28 16:11 ` H. Peter Anvin
2014-02-28 16:23 ` Steven Rostedt
2014-02-28 16:15 ` Steven Rostedt
2014-03-05 0:03 ` [tip:x86/urgent] x86, trace: Fix CR2 corruption when tracing page faults tip-bot for Jiri Olsa
2014-03-05 11:14 ` Peter Zijlstra
2014-03-05 12:20 ` Steven Rostedt
2014-03-05 12:25 ` Peter Zijlstra
2014-03-05 12:33 ` Steven Rostedt
2014-03-05 12:54 ` Peter Zijlstra
2014-03-05 13:02 ` Peter Zijlstra
2014-03-05 13:07 ` Peter Zijlstra
2014-03-05 12:36 ` Peter Zijlstra
2014-03-05 13:00 ` Steven Rostedt
2014-03-05 13:08 ` Peter Zijlstra
2014-03-05 21:37 ` H. Peter Anvin
2014-03-06 8:40 ` Peter Zijlstra
2014-03-06 11:02 ` Steven Rostedt
2014-03-06 14:53 ` [PATCH] x86: Further robustify CR2 handling vs tracing Peter Zijlstra
2014-03-07 23:07 ` [tip:x86/urgent] x86, trace: " tip-bot for Peter Zijlstra
2014-02-28 15:47 ` [PATCH] x86 trace: Fix page fault tracing bug Jiri Olsa
2014-02-28 16:00 ` Steven Rostedt
2014-02-28 16:01 ` 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=20140228205638.GD14089@laptop.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=acme@ghostprotocols.net \
--cc=hpa@zytor.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
--cc=vincent.weaver@maine.edu \
/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.