From patchwork Wed Sep 2 02:53:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 11749657 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 44BB0618 for ; Wed, 2 Sep 2020 02:55:46 +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 1E131206CD for ; Wed, 2 Sep 2020 02:55:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="PVZGbep1"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="etH6NKPq" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1E131206CD 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+patchwork-linux-arm=patchwork.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=cV/ZJgwwYP5xaDZ0GxUjGYE+OHlaAK4CwS4qXQV1q3Y=; b=PVZGbep1Oxvcql6lTvgxdCGVM SLup+i4StT+R4qoqQSjY0IBFn/v1r99dAW0HZdYAFhkmGoW05jPS1y6EoNN3mQVi158x4uFOJbPt6 Bockb3/Um3WYY+z01iDfkVhmItzqswTsmU+Pgs4/vaMCb4GPqJlQpwbscKFrXLundD4CKAVwhCeRQ tR2EIbwWO018t3N2SF2+RJ2E2SmR3V6IDblZ5yOV91/X4oMjWhWekph8bqCxjUey5wVw/iAgOs5v/ gXDUokFEm/P8p88wm8wrHdkhf0lLa9tWD6lGhnHPqQQNuOmiGC4FR7akSgKiqIkbEpmg/1XajJCss wlirdFyNw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kDIuN-0003Xm-6p; Wed, 02 Sep 2020 02:53:59 +0000 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kDIuI-0003Uq-Jl for linux-arm-kernel@lists.infradead.org; Wed, 02 Sep 2020 02:53:55 +0000 Received: by mail-pl1-x641.google.com with SMTP id a8so1587143plm.2 for ; Tue, 01 Sep 2020 19:53:53 -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=gClGbep+iV5WfCNFybEdnpd2yOKBqRu+dgKC1E3FLqg=; b=etH6NKPqvQ0E/BEfK1vGJeNK5TqdvKBju+PVw+Mb41Om+kz+V3liIydjrFcRux4SkU v05mxqn5MJF8kH9X94XWKQG2jM7AFeMLaNS02HEIB7YHiurUIEtkT+i/BFHv0qdgbId+ JfK1I292Rf3BQCyWOqL6J7XZBXjo/fSJ76OhM= 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=gClGbep+iV5WfCNFybEdnpd2yOKBqRu+dgKC1E3FLqg=; b=ZtAsnmR5GwJBacIoj4/zFL9S1dzKxynSzvfY8uawGJYHIQynNIvakE0QyyDxrMlUxU /wKErU3VuCwDaighEpm7A3I0+Sn3f+o8i95WPkEGYd28ub6JQtnP3MBBLCNXiFWABXUM iZ9IQChzgC443QdjUEor0oayDGPKLQxNrVpiPWOVaRujTVymXDQBsGe3vEfu3ZbodH4b osxfmv8NYutBnS0WFM4C5dOZHBrHppDuj+0GALrSFGQCrPj6SW+dhhB7Iel7iDcgNoSt 8tmRY6LuYMTHDJniqAYnEbuXDvop87Q1kkkGK6e/Tr5JwCPWCJXBn2XrjmST9mAifCdi PjMA== X-Gm-Message-State: AOAM532aMudFv88HeSUjI51nHI8YYOevhUVSOAyWqBVbEST8sY5yoKDg mthl+o/99tgT+mR6rdmVeNmYgA== X-Google-Smtp-Source: ABdhPJzgc+AwMOXYevHKlYRL3a9Gq1SPcptqwTmA/q6SZkJHgbLxcLNKxPWoUeQVwVN+9q7tAZgD6w== X-Received: by 2002:a17:90b:4d0f:: with SMTP id mw15mr256915pjb.174.1599015231590; Tue, 01 Sep 2020 19:53:51 -0700 (PDT) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id y4sm3597155pfr.46.2020.09.01.19.53.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2020 19:53:50 -0700 (PDT) From: Kees Cook To: Ingo Molnar Subject: [PATCH v7 2/5] arm/build: Warn on orphan section placement Date: Tue, 1 Sep 2020 19:53:44 -0700 Message-Id: <20200902025347.2504702-3-keescook@chromium.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200902025347.2504702-1-keescook@chromium.org> References: <20200902025347.2504702-1-keescook@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200901_225354_691811_42A6CC49 X-CRM114-Status: GOOD ( 12.92 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender 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, clang-built-linux@googlegroups.com, Arvind Sankar , Ingo Molnar , James Morse , Nathan Chancellor , Borislav Petkov , Peter Collingbourne , Ard Biesheuvel , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.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 handled 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' With all sections handled, enable orphan section warning. Reviewed-by: Nick Desaulniers Signed-off-by: Kees Cook --- arch/arm/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 4e877354515f..e589da3c8949 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -16,6 +16,10 @@ LDFLAGS_vmlinux += --be8 KBUILD_LDFLAGS_MODULE += --be8 endif +# We never want expected sections to be placed heuristically by the +# linker. All sections should be explicitly named in the linker script. +LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn) + ifeq ($(CONFIG_ARM_MODULE_PLTS),y) KBUILD_LDS_MODULE += $(srctree)/arch/arm/kernel/module.lds endif