From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 12 May 2017 21:45:56 +0100 From: Russell King - ARM Linux Message-ID: <20170512204556.GP22219@n2100.armlinux.org.uk> References: <20170512072802.5a686f23@mschwideX1> <20170512075458.09a3a1ce@mschwideX1> <20170512202106.GO22219@n2100.armlinux.org.uk> <20170512203044.GI4626@worktop.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170512203044.GI4626@worktop.programming.kicks-ass.net> Sender: Russell King - ARM Linux Subject: Re: [kernel-hardening] Re: [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode List-Archive: List-Post: To: Peter Zijlstra Cc: Mark Rutland , Brian Gerst , Kernel Hardening , Catalin Marinas , Heiko Carstens , Oleg Nesterov , David Howells , Dave Hansen , "H . Peter Anvin" , Ingo Molnar , Pavel Tikhomirov , linux-s390 , the arch/x86 maintainers , Christian Borntraeger , =?iso-8859-1?Q?Ren=E9?= Nyffenegger , Greg KH , "Paul E . McKenney" , Rik van Riel , Kees Cook , Arnd Bergmann , Will Deacon , Borislav Petkov , Al Viro , Andy Lutomirski , Josh Poimboeuf , Thomas Gleixner , Ingo Molnar , "linux-arm-kernel@lists.infradead.org" , Linux API , LKML , Daniel Micay , James Morse , "Eric W . Biederman" , Martin Schwidefsky , Paolo Bonzini , Andrew Morton , Linus Torvalds , Thomas Garnier , "Kirill A . Shutemov" List-ID: On Fri, May 12, 2017 at 10:30:44PM +0200, Peter Zijlstra wrote: > On Fri, May 12, 2017 at 09:21:06PM +0100, Russell King - ARM Linux wrote: > > On Fri, May 12, 2017 at 12:30:02PM -0700, Kees Cook wrote: > > > I'm clearly not explaining things well enough. I shouldn't say > > > "corruption", I should say "malicious manipulation". The methodology > > > of attacks against the stack are quite different from the other kinds > > > of attacks like use-after-free, heap overflow, etc. Being able to > > > exhaust the kernel stack (either due to deep recursion or unbounded > > > alloca()) > > > > I really hope we don't have alloca() use in the kernel. Do you have > > evidence to support that assertion? > > > > IMHO alloca() (or similar) should not be present in any kernel code > > because we have a limited stack - we have kmalloc() etc for that kind > > of thing. > > On stack variable length arrays get implemented by the compiler doing > alloca(), and we sadly have a few of those around. I hope their size is appropriately limited, but something tells me it would be foolish to assume that. > But yes, fully agreed on the desirability of alloca() and things. Hmm, I wonder if -fno-builtin-alloca would prevent those... it looks like it certainly would prevent an explicit alloca() call. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.