[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrXg4qo+oeq7xqMv9n9RehQ3jGjifJRK90jD=n-2r6=qaA@mail.gmail.com>
Date: Mon, 12 Sep 2016 14:07:43 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Jann Horn <jann@...jh.net>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
John Stultz <john.stultz@...aro.org>,
Michal Hocko <mhocko@...e.com>,
Andrew Morton <akpm@...ux-foundation.org>,
"Michael S. Tsirkin" <mst@...hat.com>,
Linux API <linux-api@...r.kernel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Aravind Gopalakrishnan <Aravind.Gopalakrishnan@....com>,
Vlastimil Babka <vbabka@...e.cz>,
"Luis R. Rodriguez" <mcgrof@...nel.org>,
Mateusz Guzik <mguzik@...hat.com>,
Alex Thorlton <athorlton@....com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Vladimir Zapolskiy <vladimir_zapolskiy@...tor.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Jiri Slaby <jslaby@...e.cz>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Ben Segall <bsegall@...gle.com>,
"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@...nel.org>,
Denys Vlasenko <dvlasenk@...hat.com>,
Kyle Huey <me@...ehuey.com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
"Robert O'Callahan" <robert@...llahan.org>,
"open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
<linux-kernel@...r.kernel.org>, Juergen Gross <jgross@...e.com>,
Fenghua Yu <fenghua.yu@...el.com>,
Kees Cook <keescook@...omium.org>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Borislav Petkov <bp@...e.de>, Len Brown <len.brown@...el.com>,
Huang Rui <ray.huang@....com>, "H. Peter Anvin" <hpa@...or.com>
Subject: Re: [PATCH] prctl,x86 Add PR_[GET|SET]_CPUID for controlling the
CPUID instruction.
On Sep 12, 2016 10:57 AM, "Jann Horn" <jann@...jh.net> wrote:
>
> On Mon, Sep 12, 2016 at 09:56:11AM -0700, Andy Lutomirski wrote:
> > On Sep 11, 2016 5:29 PM, "Kyle Huey" <me@...ehuey.com> wrote:
> > >
> > > rr (http://rr-project.org/), a userspace record-and-replay reverse-
> > > execution debugger, would like to trap and emulate the CPUID instruction.
> > > This would allow us to a) mask away certain hardware features that rr does
> > > not support (e.g. RDRAND) and b) enable trace portability across machines
> > > by providing constant results.
> > >
> > > Intel supports faulting on the CPUID instruction in newer processors. Bit
> > > 31 of MSR_PLATFORM_INFO advertises support for this feature. It is
> > > documented in detail in Section 2.3.2 of
> > > http://www.intel.com/content/dam/www/public/us/en/documents/application-notes/virtualization-technology-flexmigration-application-note.pdf.
> [...]
> > If this bit is preserved on fork(), then no_new_privs must be checked
> > (or it must be cleared on "unsafe" exec, but that's nasty).
>
> I think you mean "preserved on execve()"?
Indeed.
So it should have defined and tested behavior on fork() and execve().
Maybe fork() should preserve the flag after all.
--Andy
Powered by blists - more mailing lists