Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752611AbdGEXa7 (ORCPT ); Wed, 5 Jul 2017 19:30:59 -0400 Received: from mail-it0-f44.google.com ([209.85.214.44]:38711 "EHLO mail-it0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752030AbdGEXa6 (ORCPT ); Wed, 5 Jul 2017 19:30:58 -0400 MIME-Version: 1.0 In-Reply-To: <20170629175647.pufnks75fqy627jv@smitten> References: <20170623015010.GA137429@beast> <1498758853.6130.2.camel@redhat.com> <20170629175647.pufnks75fqy627jv@smitten> From: Kees Cook Date: Wed, 5 Jul 2017 16:30:56 -0700 X-Google-Sender-Auth: tCGawCL8SD6yXp5MMt58fsd_5Ts Message-ID: Subject: Re: [kernel-hardening] Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation To: Andrew Morton , Christoph Lameter Cc: Rik van Riel , Tycho Andersen , Laura Abbott , Daniel Micay , Pekka Enberg , David Rientjes , Joonsoo Kim , "Paul E. McKenney" , Ingo Molnar , Josh Triplett , Andy Lutomirski , Nicolas Pitre , Tejun Heo , Daniel Mack , Sebastian Andrzej Siewior , Sergey Senozhatsky , Helge Deller , LKML , Linux-MM , "kernel-hardening@lists.openwall.com" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1829 Lines: 48 On Thu, Jun 29, 2017 at 10:56 AM, Tycho Andersen wrote: > On Thu, Jun 29, 2017 at 01:54:13PM -0400, Rik van Riel wrote: >> On Thu, 2017-06-29 at 10:47 -0700, Kees Cook wrote: >> > On Thu, Jun 29, 2017 at 10:05 AM, Christoph Lameter >> > wrote: >> > > On Sun, 25 Jun 2017, Kees Cook wrote: >> > > >> > > > The difference gets lost in the noise, but if the above is >> > > > sensible, >> > > > it's 0.07% slower. ;) >> > > >> > > Hmmm... These differences add up. Also in a repetative benchmark >> > > like that >> > > you do not see the impact that the additional cacheline use in the >> > > cpu >> > > cache has on larger workloads. Those may be pushed over the edge of >> > > l1 or >> > > l2 capacity at some point which then causes drastic regressions. >> > >> > Even if that is true, it may be worth it to some people to have the >> > protection. Given that is significantly hampers a large class of heap >> > overflow attacks[1], I think it's an important change to have. I'm >> > not >> > suggesting this be on by default, it's cleanly behind >> > CONFIG-controlled macros, and is very limited in scope. If you can >> > Ack >> > it we can let system builders decide if they want to risk a possible >> > performance hit. I'm pretty sure most distros would like to have this >> > protection. >> >> I could certainly see it being useful for all kinds of portable >> and network-connected systems where security is simply much >> more important than performance. > > Indeed, I believe we would enable this in our kernels. Andrew and Christoph, What do you think about carrying this for -mm, since people are interested in it and it's a very narrow change behind a config (with a large impact on reducing the expoitability of freelist pointer overwrites)? -Kees -- Kees Cook Pixel Security