From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A157C433DF for ; Mon, 29 Jun 2020 20:50:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 75C632065D for ; Mon, 29 Jun 2020 20:50:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="T04fL7iR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388053AbgF2Uui (ORCPT ); Mon, 29 Jun 2020 16:50:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731441AbgF2TNe (ORCPT ); Mon, 29 Jun 2020 15:13:34 -0400 Received: from mail-pj1-x1041.google.com (mail-pj1-x1041.google.com [IPv6:2607:f8b0:4864:20::1041]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D969C08EB15 for ; Sun, 28 Jun 2020 23:18:55 -0700 (PDT) Received: by mail-pj1-x1041.google.com with SMTP id cv18so2797200pjb.1 for ; Sun, 28 Jun 2020 23:18:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HLLAJpxJCKF6GpXYjiXBbb2388G9eZDwIJVZRHrbyec=; b=T04fL7iRnuJApQe2EOioew1j5Rlr2BMoJuzctdqWei6PMaoDnLB/LdaL5P+9eTJj3D hrhcKHRUxkUBOU51xp8O7g+QcmVnD4KGJx8EsFA75GwrbM5HkoASL8Vcva2ox1Rzzz8T u3NLRFeCUaao3XeiyLsPIVvzOAhdDEbGOuEs0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HLLAJpxJCKF6GpXYjiXBbb2388G9eZDwIJVZRHrbyec=; b=psq8nNzQWx2CWglKhrBMjeeFqjy5LMXPcsBEXwT4I5ZWINZ2J0uCLUwPemicb2oEPV I1iLbBLJKtxdQFm28UzvjyaBjeJjiZ8U/u8SPuOJLbHhSYW6dSJtiWaNkctNcqtGmrjq Y4zUIYzltScL7QjZptEbDHR44SpN1HkaxTa6NqjSshVT2c1IKE0pfIimQlfEJz+i112+ Q9a2UwT0MR8rWUM4TmDfzsRxVTlO2knVh6xt1HUohV2hgR6qGF9SCjEfL8Xhu8zlXYoB R9+YqmqVLNcC7cgrmffHOxMOr+RjDQws42bGLt+KURv+z0RNjj2Bv9kYKtBX9BBFKzgC JkAg== X-Gm-Message-State: AOAM533fp7/mkgVomCHmEVI0MiUgvEz/god6mMGr6xrc3qgk/WEYV3jV v0vbQB3EEbbjk4NZETcSy3srZg== X-Google-Smtp-Source: ABdhPJwNjvgfAOOh8VJ+onDG+dXJz2yzAp0DTMkKIotRBmI0ZoNMLyWXjjtPuqVD4FTZ8qL5j5J1DA== X-Received: by 2002:a17:90a:ed87:: with SMTP id k7mr5586555pjy.31.1593411534865; Sun, 28 Jun 2020 23:18:54 -0700 (PDT) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id g12sm4460965pfb.190.2020.06.28.23.18.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Jun 2020 23:18:53 -0700 (PDT) From: Kees Cook To: Will Deacon Cc: Kees Cook , Catalin Marinas , Mark Rutland , Ard Biesheuvel , Peter Collingbourne , James Morse , Borislav Petkov , Thomas Gleixner , Ingo Molnar , Russell King , Masahiro Yamada , Arvind Sankar , Nick Desaulniers , Nathan Chancellor , Arnd Bergmann , x86@kernel.org, clang-built-linux@googlegroups.com, linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 14/17] arm/build: Warn on orphan section placement Date: Sun, 28 Jun 2020 23:18:37 -0700 Message-Id: <20200629061840.4065483-15-keescook@chromium.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629061840.4065483-1-keescook@chromium.org> References: <20200629061840.4065483-1-keescook@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We don't want to depend on the linker's orphan section placement heuristics as these can vary between linkers, and may change between versions. All sections need to be explicitly named in the linker script. Specifically, this would have made a recently fixed bug very obvious: ld: warning: orphan section `.fixup' from `arch/arm/lib/copy_from_user.o' being placed in section `.fixup' Discard unneeded sections .iplt, .rel.iplt, .igot.plt, and .modinfo. Add missing text stub sections .vfp11_veneer and .v4_bx. Add debug sections explicitly. Finally enable orphan section warning. Signed-off-by: Kees Cook --- arch/arm/include/asm/vmlinux.lds.h | 6 +++++- arch/arm/kernel/vmlinux-xip.lds.S | 1 + arch/arm/kernel/vmlinux.lds.S | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/include/asm/vmlinux.lds.h b/arch/arm/include/asm/vmlinux.lds.h index c66b16cd8837..d44fae722e7a 100644 --- a/arch/arm/include/asm/vmlinux.lds.h +++ b/arch/arm/include/asm/vmlinux.lds.h @@ -39,6 +39,8 @@ __idmap_text_end = .; \ #define ARM_COMMON_DISCARD \ + *(.iplt) *(.rel.iplt) *(.igot.plt) \ + *(.modinfo) \ *(.discard) \ *(.discard.*) @@ -63,7 +65,9 @@ #define ARM_STUBS_TEXT \ *(.gnu.warning) \ *(.glue_7) \ - *(.glue_7t) + *(.glue_7t) \ + *(.vfp11_veneer) \ + *(.v4_bx) #define ARM_TEXT \ IDMAP_TEXT \ diff --git a/arch/arm/kernel/vmlinux-xip.lds.S b/arch/arm/kernel/vmlinux-xip.lds.S index 57fcbf55f913..11ffa79751da 100644 --- a/arch/arm/kernel/vmlinux-xip.lds.S +++ b/arch/arm/kernel/vmlinux-xip.lds.S @@ -150,6 +150,7 @@ SECTIONS _end = .; STABS_DEBUG + DWARF_DEBUG ARM_DETAILS } diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 1d3d3b599635..dc672fe35de3 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S @@ -149,6 +149,7 @@ SECTIONS _end = .; STABS_DEBUG + DWARF_DEBUG ARM_DETAILS } -- 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2F9DC433E0 for ; Mon, 29 Jun 2020 06:22:24 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C11B923131 for ; Mon, 29 Jun 2020 06:22:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="JAeNmqsR"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="T04fL7iR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C11B923131 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=H7wvAGH3RMzEsfE1u3cyV0xAvlLKljQNxnVDcEQOtnY=; b=JAeNmqsRAO1Cl1PtjlZKOiOVk lx4VotTcqvEGnEw128IMDUxZ6+xKDXME5cVfeViHD1Svc7ZfPvxWh1pI6HGe+TMM/+GyEnD1foLz0 Ahfcdi8snEapYOWqjsABDKYTzEvRN7FbQiBTXUpG5pi7fIU0pBwGf9WkKgLYAmmvg1HmXsgK+186n sXUO98PGL84r1eTviYuznAJ5wvF6csp5WDHfwnZl7mWw4l7hZdJb1cZgwN0ciMMhb+FX93Zki/MK9 5g4mcN4342uF36bVP4Dp6ZJIHRulNhkZm6S67GI2QBxru2k789b99qb09KjJPcKjf6N5UuCKlgT90 e928s1YLg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jpn95-0006Gf-T1; Mon, 29 Jun 2020 06:19:59 +0000 Received: from mail-pj1-x1042.google.com ([2607:f8b0:4864:20::1042]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jpn84-0005rb-JT for linux-arm-kernel@lists.infradead.org; Mon, 29 Jun 2020 06:19:04 +0000 Received: by mail-pj1-x1042.google.com with SMTP id i4so7574612pjd.0 for ; Sun, 28 Jun 2020 23:18:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HLLAJpxJCKF6GpXYjiXBbb2388G9eZDwIJVZRHrbyec=; b=T04fL7iRnuJApQe2EOioew1j5Rlr2BMoJuzctdqWei6PMaoDnLB/LdaL5P+9eTJj3D hrhcKHRUxkUBOU51xp8O7g+QcmVnD4KGJx8EsFA75GwrbM5HkoASL8Vcva2ox1Rzzz8T u3NLRFeCUaao3XeiyLsPIVvzOAhdDEbGOuEs0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HLLAJpxJCKF6GpXYjiXBbb2388G9eZDwIJVZRHrbyec=; b=U/N8AlaiXjRkyP3uF8kyJD5MFEgsPBPlEKMAfbYuYXhN8dWAMYS4XJ1+IXun2rwxEI 27iYJnbpkjdtf82zzRStUOI7JDaC8w8WL9BzSoejDjRMg1dYAE7r1lSDiCjov8pDzN4k F51ngOr4qeu78NMPm51xrydfF2s/oAbu/CAPtOVsdAkrHStwGKDVpcSdBwSPWYYlgQc6 /A6O5XGz+Ap5E2Ye8xGaiv9UCZawR5LZo/mgewtxJw0JXwSr90xM9QMbESV2FUBSYnPE 6uZbsjuUUT6oTa5BngZ3oZCSKTS94be81wWvQ+pK7F17r0tK2M9nmgA3oIRtkLqZjstQ 0nvg== X-Gm-Message-State: AOAM532iRs4+4mZ027nJdiJcnZ0Evqk07e7/M2XfLDShdda8Zc2UaZGP hsflWVRtmx/RFVuddE/+NvevuQ== X-Google-Smtp-Source: ABdhPJwNjvgfAOOh8VJ+onDG+dXJz2yzAp0DTMkKIotRBmI0ZoNMLyWXjjtPuqVD4FTZ8qL5j5J1DA== X-Received: by 2002:a17:90a:ed87:: with SMTP id k7mr5586555pjy.31.1593411534865; Sun, 28 Jun 2020 23:18:54 -0700 (PDT) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id g12sm4460965pfb.190.2020.06.28.23.18.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Jun 2020 23:18:53 -0700 (PDT) From: Kees Cook To: Will Deacon Subject: [PATCH v4 14/17] arm/build: Warn on orphan section placement Date: Sun, 28 Jun 2020 23:18:37 -0700 Message-Id: <20200629061840.4065483-15-keescook@chromium.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629061840.4065483-1-keescook@chromium.org> References: <20200629061840.4065483-1-keescook@chromium.org> MIME-Version: 1.0 X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, Kees Cook , Arnd Bergmann , Catalin Marinas , Masahiro Yamada , x86@kernel.org, Nick Desaulniers , Russell King , linux-kernel@vger.kernel.org, Nathan Chancellor , clang-built-linux@googlegroups.com, Arvind Sankar , Ingo Molnar , James Morse , Thomas Gleixner , Borislav Petkov , Peter Collingbourne , Ard Biesheuvel , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org We don't want to depend on the linker's orphan section placement heuristics as these can vary between linkers, and may change between versions. All sections need to be explicitly named in the linker script. Specifically, this would have made a recently fixed bug very obvious: ld: warning: orphan section `.fixup' from `arch/arm/lib/copy_from_user.o' being placed in section `.fixup' Discard unneeded sections .iplt, .rel.iplt, .igot.plt, and .modinfo. Add missing text stub sections .vfp11_veneer and .v4_bx. Add debug sections explicitly. Finally enable orphan section warning. Signed-off-by: Kees Cook --- arch/arm/include/asm/vmlinux.lds.h | 6 +++++- arch/arm/kernel/vmlinux-xip.lds.S | 1 + arch/arm/kernel/vmlinux.lds.S | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/include/asm/vmlinux.lds.h b/arch/arm/include/asm/vmlinux.lds.h index c66b16cd8837..d44fae722e7a 100644 --- a/arch/arm/include/asm/vmlinux.lds.h +++ b/arch/arm/include/asm/vmlinux.lds.h @@ -39,6 +39,8 @@ __idmap_text_end = .; \ #define ARM_COMMON_DISCARD \ + *(.iplt) *(.rel.iplt) *(.igot.plt) \ + *(.modinfo) \ *(.discard) \ *(.discard.*) @@ -63,7 +65,9 @@ #define ARM_STUBS_TEXT \ *(.gnu.warning) \ *(.glue_7) \ - *(.glue_7t) + *(.glue_7t) \ + *(.vfp11_veneer) \ + *(.v4_bx) #define ARM_TEXT \ IDMAP_TEXT \ diff --git a/arch/arm/kernel/vmlinux-xip.lds.S b/arch/arm/kernel/vmlinux-xip.lds.S index 57fcbf55f913..11ffa79751da 100644 --- a/arch/arm/kernel/vmlinux-xip.lds.S +++ b/arch/arm/kernel/vmlinux-xip.lds.S @@ -150,6 +150,7 @@ SECTIONS _end = .; STABS_DEBUG + DWARF_DEBUG ARM_DETAILS } diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 1d3d3b599635..dc672fe35de3 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S @@ -149,6 +149,7 @@ SECTIONS _end = .; STABS_DEBUG + DWARF_DEBUG ARM_DETAILS } -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel