Received: by 10.223.185.116 with SMTP id b49csp6842105wrg; Wed, 28 Feb 2018 17:03:49 -0800 (PST) X-Google-Smtp-Source: AG47ELuVV/WGk14WYRBL4U9atdOD4pCT6SaHLqUisCGYK/rRziRGUdcGpezL5fMiY+6yYNU7uS2Q X-Received: by 2002:a17:902:7b90:: with SMTP id w16-v6mr81800pll.26.1519866228949; Wed, 28 Feb 2018 17:03:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519866228; cv=none; d=google.com; s=arc-20160816; b=MaWbbG1XhkgrfEa/AEuA185Epsw91v/PJ0BKdAaxr7RutAkCtSwCtmellrWxgMuMBv U52l5OsIaRc7Ul8QVYziMWdVEBLEKRRmiigeO2Qq10hkFllGdji6lA/iJyjxG73cD22G PUuvVU3n7g/9IvI7KnBEnAlmavfQrYjltXzJyEwK0Phx3Y9U2UmdM+TILjgIH0mUxarh OSmubzlvZAmj71dBjndgIatPMiF/mOdNhrn+sjKB3t7f/5Ypt9RANpLn+CcZ90s90OZ5 n+6BxD2IskC3IJsMUCaKw7RRfH55wa2AbENDaETX/9q6yVzoTODXBnbnx6S8ptgaQdr3 RAYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-disposition:mime-version :message-id:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=vbpeHCfUBWUEBIGlaxt3RYj3+QXHATaV6bvY3RhqF6E=; b=D2qq+KombgW5dCZ9M4JWcgU31QbFvMhsRXreNkVwzSur2eu0Q4gVY4Zj69H24qhVQy tRHVleu0T5B0VKrhhuT+NCtn3UtMKwkgagXJ1PJpA24L/5nt7FQcZxkJjO1xmQq2510a kO8OzX2lbIQVvG7iPgq1sZzX1gqb0TUiDIA0h/NcE7/n41hyW95fsJT6kDslpZPSvG6v oSL56VRpzcZeovs6wunZWt/TIRPyaeNrsPrmeXSnqHKCNkabGuPDP+l5f5kkxS7m5MuO BABr1XnwL9+jKJgvN7lglKSgVvlk92bEcDwIv8PcCliaNZVra3GKllWQCSROB7Dj3dk8 Fj7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=N1sTAsF4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q3si1703369pgp.701.2018.02.28.17.03.34; Wed, 28 Feb 2018 17:03:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=N1sTAsF4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965410AbeCABCz (ORCPT + 99 others); Wed, 28 Feb 2018 20:02:55 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:34114 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965280AbeCABCx (ORCPT ); Wed, 28 Feb 2018 20:02:53 -0500 Received: by mail-pf0-f196.google.com with SMTP id j20so1763538pfi.1 for ; Wed, 28 Feb 2018 17:02:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:mime-version:content-disposition; bh=vbpeHCfUBWUEBIGlaxt3RYj3+QXHATaV6bvY3RhqF6E=; b=N1sTAsF4sQyD1ohjpTh+kojU+CFad6RAQ7/0NSS4xlaMsYHfbwtC3YtzOezecSnY9k pi/rOPiMjnglGLIyEXL/S7rtC7glABs/S1S9pX/cnMBW/9n0lzDCCg+uDaCbROBRp90F f4FKzAwByeL9md/+izjNAlj22qE5NMXCA8NHY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition; bh=vbpeHCfUBWUEBIGlaxt3RYj3+QXHATaV6bvY3RhqF6E=; b=Sn5rqTl2Unkqi52qMteaB7P+wNhHPo+e78/VShvxdZ79L2xYPkdJo+o1CZgQzADocb hMEA86aWzVEu+B8SdjOB4xnrYj0YIYz2FDtrHe8+rXNB2+Liuyyv4X62EZK/NYzqE3UR qU7xZp4idfgLB9HKbva8UnE2YzPQIGAWiekrPkzkMF2LmmMallIw64JOuPHNoM/ig1YD suAGp7gXPGN4CA+gtDfs6cep/s0ugoiO+qUa6VlM23Cp44hCPvW7kn9oc74/kBPVQ0Se WHmGKH+s199PRiNsARoATKaa9Cg3le13NwU5f47w3+rx0S6ntFv+hs9iVO1cOcyLuLQN 5bgQ== X-Gm-Message-State: APf1xPAExfI0zUiWXmJ3juoxr31MRHBhlPcRjroJHaKoDOLx6xJ5Ykao okJqtACNqsiEYQP/NTBal1DIlg== X-Received: by 10.98.227.10 with SMTP id g10mr56989pfh.200.1519866172314; Wed, 28 Feb 2018 17:02:52 -0800 (PST) Received: from www.outflux.net (173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133]) by smtp.gmail.com with ESMTPSA id 12sm5243492pfr.147.2018.02.28.17.02.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Feb 2018 17:02:50 -0800 (PST) Date: Wed, 28 Feb 2018 17:02:49 -0800 From: Kees Cook To: Michael Ellerman Cc: Christophe Leroy , linux-kernel@vger.kernel.org, Benjamin Herrenschmidt , Paul Mackerras , linuxppc-dev@lists.ozlabs.org, Segher Boessenkool Subject: [PATCH] powerpc: Keep const vars out of writable .sdata Message-ID: <20180301010249.GA18370@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Segher Boessenkool Newer gcc will support "-mno-readonly-in-sdata"[1], which makes sure that the optimization on PPC32 for variables getting moved into the .sdata section will not apply to const variables (which must be in .rodata). This was originally noticed in mm/rodata_test.c when rodata_test_data was not static: c0695034 g O .data 00000004 rodata_test_data After this patch with an updated compiler, this is correctly in .rodata. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82411 Reported-by: Christophe Leroy Signed-off-by: Segher Boessenkool Signed-off-by: Kees Cook --- arch/powerpc/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index ccd2556bdb53..c7628e973084 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -141,7 +141,9 @@ AFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv1) endif CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcmodel=medium,$(call cc-option,-mminimal-toc)) CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mno-pointers-to-nested-functions) + CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 $(MULTIPLEWORD) +CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata) ifeq ($(CONFIG_PPC_BOOK3S_64),y) CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,-mtune=power4) -- 2.7.4 -- Kees Cook Pixel Security