Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp504376pxa; Fri, 21 Aug 2020 12:55:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyibNiIlDY546cde/fTjMfnE00Fayll9aHfTmUqB8tnhHkIKQmlMAe6/lz73sMzVz/lnwsC X-Received: by 2002:a50:fc82:: with SMTP id f2mr4429810edq.53.1598039719758; Fri, 21 Aug 2020 12:55:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598039719; cv=none; d=google.com; s=arc-20160816; b=KVvkXfSixtG7QX5sV5c9vn8h+M3rCbQsmHIYvBT6gKIfHbGb4Szrzt3bmo1Lgr4hf8 WKzlo3+5D9HiXrggkSEEL2j+GGdRPc7itJxCM3ZDwXZFyZYP4/cQLiiz/dc6dFDyk9mz oq0Zke56iyMszLKltRtDLNDK6axt1XOoRrceS9qdwcG8X1UYLNkic2V9krAy6S/BSGwU /Lna4F+9uWSBgqx3n7mq/yUWpMWAQOW+RGPfl9T6yNf+0OmGZFTVtS/OFjk4dGkB9qxx b7Vt3zd21YNMBPc8fuwCUbVsgVLzn0v2UCrEEghrKZZpUP3bsMS08FlrGYxGcoz168EK 9gVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=cKGWDIrBEs2dh6Vx6JHQWt/T3ziuaJ6+D++qA+lLK7w=; b=jCl9vXrKoyJewR4tr/KPYnbLU1kNNcfLiFDZMPlOu85sZ+CVPQvjFaOO4JidA3bOWe rBoXMizykxApVd6yau+jzBaZql9yhzUhNNs8cU+H0XrVcLwXMPJAIX2fiO5J2V+JeYfi xaASWy1OSVCMTc5pmmeamRJDxfpmNWzga0k68Nuy2kgd4/bZnATmvQNQ6xqJSTlN81UH U86gUjfebWIM91b8O4IaPRJCn6Phbl6AsBl/D3hu80VpEyRVdaF6DxZgrEVyqoUytke3 P3cZfK4iDyN+7hlttf7L1CCOQE9oPSbiVpXpO9bLUlJYbw+8i3ji+cpINBCKQMz4ddXO w3Qw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=MOtH6g06; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id b20si2193790edn.57.2020.08.21.12.54.56; Fri, 21 Aug 2020 12:55:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=MOtH6g06; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1726767AbgHUTyM (ORCPT + 99 others); Fri, 21 Aug 2020 15:54:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38274 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725992AbgHUTyB (ORCPT ); Fri, 21 Aug 2020 15:54:01 -0400 Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AC0E4C061755 for ; Fri, 21 Aug 2020 12:54:01 -0700 (PDT) Received: by mail-pf1-x442.google.com with SMTP id u20so1592361pfn.0 for ; Fri, 21 Aug 2020 12:54:01 -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=cKGWDIrBEs2dh6Vx6JHQWt/T3ziuaJ6+D++qA+lLK7w=; b=MOtH6g06WVQoxhMiwvjXdIDUiCnhNQLZstpkLeL0aigF1WIuztgjF/SOV6mc40YW8E wDHh058AHq5ePmSwdD2DjlRGgSmRaxVSd4mi0Zx9sor/UExqSvQ8V/L8d0p9DL/TQe7y p5lo8dxel2Zghjrb75dYwEndSMILJRoFoM+74= 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=cKGWDIrBEs2dh6Vx6JHQWt/T3ziuaJ6+D++qA+lLK7w=; b=m0vMu6Txwa3fnL7whG97bXh99IIb9i4LyYKLD4BZGM2PHNVEwT4KF2saeM/sXklAPI 63BG/e4MZVvKo2F7TP366jAYRn5/NGLqXgHUaHRxHvN6HnGXpvI4fVLUu5CxNhwQ9kzB r91jg0G2ZTmYjGXAwURCU0P8sozG5NU+16OXmwxyOggAScrCZep/CSvYhBL3v1gYI5pI /03hDiDU20RT+JaOlb3YIazw0rshfHBmv3hveJYuI5VGL7l6wXHovNrmdNgo1MV3Ereh BHlvI4APzmiB6r1oWhVH3k1WSdrBQJP7HUXlnLS4nGc00G5kYFTtVkKUxZmJLpQCUi1h ExYw== X-Gm-Message-State: AOAM531s8Aq+vv4tpEjHE19l2u0nFWLqyTsG1FLBLwJXxbMKEaSVHhAU jhjzNuG6Qjj7mzMV4aD59AkKhg== X-Received: by 2002:aa7:968b:: with SMTP id f11mr3724767pfk.63.1598039640596; Fri, 21 Aug 2020 12:54:00 -0700 (PDT) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id k29sm3378601pfp.142.2020.08.21.12.53.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 12:53:59 -0700 (PDT) From: Kees Cook To: Ingo Molnar Cc: Kees Cook , Nick Desaulniers , Catalin Marinas , Mark Rutland , Ard Biesheuvel , Peter Collingbourne , James Morse , Borislav Petkov , Ingo Molnar , Russell King , Masahiro Yamada , Arvind Sankar , 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 v6 19/29] arm/build: Warn on orphan section placement Date: Fri, 21 Aug 2020 12:43:00 -0700 Message-Id: <20200821194310.3089815-20-keescook@chromium.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200821194310.3089815-1-keescook@chromium.org> References: <20200821194310.3089815-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 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..0aa133c4ddec 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 += --orphan-handling=warn + ifeq ($(CONFIG_ARM_MODULE_PLTS),y) KBUILD_LDS_MODULE += $(srctree)/arch/arm/kernel/module.lds endif -- 2.25.1