From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH] x86: make IDT read-only Date: Wed, 10 Apr 2013 11:57:16 +0200 Message-ID: <20130410095716.GF24443@gmail.com> References: <20130408224328.GA17641@www.outflux.net> <51634935.9010905@zytor.com> <877gkc596d.fsf@xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <877gkc596d.fsf@xmission.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: "Eric W. Biederman" Cc: Jeremy Fitzhardinge , kernel-hardening@lists.openwall.com, Frederic Weisbecker , Dan Rosenberg , virtualization@lists.linux-foundation.org, "H. Peter Anvin" , Alex Shi , x86@kernel.org, Ingo Molnar , "Paul E. McKenney" , Alexander Duyck , Kees Cook , Julien Tinnes , Konrad Rzeszutek Wilk , Borislav Petkov , Steven Rostedt , xen-devel@lists.xensource.com, Thomas Gleixner , Will Drewry , linux-kernel@vger.kernel.org List-Id: virtualization@lists.linuxfoundation.org * Eric W. Biederman wrote: > "H. Peter Anvin" writes: > > > On 04/08/2013 03:43 PM, Kees Cook wrote: > >> This makes the IDT unconditionally read-only. This primarily removes > >> the IDT from being a target for arbitrary memory write attacks. It has > >> an added benefit of also not leaking (via the "sidt" instruction) the > >> kernel base offset, if it has been relocated. > >> > >> Signed-off-by: Kees Cook > >> Cc: Eric Northup > > > > Also, tglx: does this interfere with your per-cpu IDT efforts? > > Given that we don't change any IDT entries why would anyone want a > per-cpu IDT? The cache lines should easily be shared accross all > processors. That's true iif they are cached. If not then it's a remote DRAM access cache miss for all CPUs except the node that holds that memory. > Or are there some giant NUMA machines that trigger cache misses when accessing > the IDT and the penalty for pulling the cache line across the NUMA fabric is > prohibitive? IDT accesses for pure userspace execution are pretty rare. So we are not just talking about huge NUMA machines here but about ordinary NUMA machines taking a remote cache miss hit for the first IRQ or other IDT-accessing operation they do after some cache-intense user-space processing. It's a small effect, but it exists and improving it would be legitimate. Thanks, Ingo