Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751965AbaBNQYd (ORCPT ); Fri, 14 Feb 2014 11:24:33 -0500 Received: from fw-tnat.cambridge.arm.com ([217.140.96.21]:53041 "EHLO cam-smtp0.cambridge.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751105AbaBNQYb (ORCPT ); Fri, 14 Feb 2014 11:24:31 -0500 Date: Fri, 14 Feb 2014 16:22:57 +0000 From: Dave Martin To: Kees Cook Cc: linux-arm-kernel@lists.infradead.org, Catalin Marinas , Will Deacon , Larry Bassel , Stephen Rothwell , Russell King , Nicolas Pitre , Ben Dooks , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Grant Likely , Jiang Liu , Christoffer Dall , Laura Abbott , Marc Zyngier , Rob Herring , Vitaly Andrianov , Jonathan Austin , Simon Baatz , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Santosh Shilimkar , Andrew Morton Subject: Re: [PATCH 2/2] ARM: mm: keep rodata non-executable Message-ID: <20140214162257.GB2331@e103592.cambridge.arm.com> References: <1392339850-18686-1-git-send-email-keescook@chromium.org> <1392339850-18686-3-git-send-email-keescook@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1392339850-18686-3-git-send-email-keescook@chromium.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 13, 2014 at 05:04:10PM -0800, Kees Cook wrote: > Introduce "CONFIG_DEBUG_RODATA" to mostly match the x86 config, though > the behavior is different: it depends on STRICT_KERNMEM_PERMS, which > sets rodata read-only (but executable), where as this option additionally > splits rodata from the kernel text (resulting in potentially more memory > lost to padding) and sets it non-executable as well. The end result is > that on builds with CONFIG_DEBUG_RODATA=y (like x86) the rodata with be > marked purely read-only. This triggers an Oops in kexec, because we have a block of code in .text which is a template for generating baremetal code to relocate the new kernel, and some literal words are written into it before copying. Possibly this should be in .rodata, not .text. There may be a few other instances of this kind of thing. Are you aware of similar situations on other arches? Cheers ---Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/