[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170107074537.GB13565@gmail.com>
Date: Sat, 7 Jan 2017 08:45:37 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Andy Lutomirski <luto@...nel.org>
Cc: Thomas Garnier <thgarnie@...gle.com>,
Arjan van de Ven <arjan@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H . Peter Anvin" <hpa@...or.com>,
Kees Cook <keescook@...omium.org>,
Borislav Petkov <bp@...en8.de>, Dave Hansen <dave@...1.net>,
Chen Yucong <slaoub@...il.com>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Anna-Maria Gleixner <anna-maria@...utronix.de>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Michael Ellerman <mpe@...erman.id.au>,
Juergen Gross <jgross@...e.com>,
Richard Weinberger <richard@....at>, X86 ML <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kernel-hardening@...ts.openwall.com"
<kernel-hardening@...ts.openwall.com>
Subject: Re: [RFC] x86/mm/KASLR: Remap GDTs at fixed location
* Andy Lutomirski <luto@...nel.org> wrote:
> > I looked back at the fixmap, and I can see a way it could be done (using
> > NR_CPUS) like the other fixmap ranges. It would limit the number of cpus to
> > 512 (there is 2M memory left on fixmap on the default configuration). That's
> > if we never add any other fixmap on x64. I don't know if it is an acceptable
> > number and if the fixmap region could be increased. (128 if we do your kvm
> > trick, of course).
>
> IIRC we need 4096 CPUs.
On 64-bit the limit is 8192 CPUs, and the SGI guys are relying on that up to the
tune of 6144 cores already, and I'd say the 64-bit CPU count is likely to go up
further with 5-level paging.
On 32-bit the reasonable CPU limit is the number that the Intel 32-bit cluster
computing nodes use. The latest public numbers are I think 36 'tiles' with each
tile being a 2-CPU SMT core - i.e. a limit of 72 CPUs has to be maintained.
(They'll obviously go to 64-bit as well so this problem will go away in a hardware
generation or two.)
So I'd say 128 CPUs on 32-bit should be a reasonable practical limit going
forward. Right now our 32-bit limit is 512 CPUs IIRC, but I don't think any real
hardware in production is reaching that.
> P.S. Let's do the move to the fixmap, read/write as a separate patch. That will
> make bisecting much easier.
Absolutely, but this has to be within the same series, as the interim fixmap-only
step is less secure in some circumstances: we are moving the writable GDT from a
previously randomized location to a fixed location.
Thanks,
Ingo
Powered by blists - more mailing lists