Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp804576imm; Fri, 27 Jul 2018 06:28:59 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdLkY2f1vntXdWwag0y7N7xCDY1t5oAJSCTWF4rt4RgF/1mnXFcyM8ZUjR06VByKVhdb5F7 X-Received: by 2002:a62:3d41:: with SMTP id k62-v6mr6686999pfa.35.1532698139220; Fri, 27 Jul 2018 06:28:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532698139; cv=none; d=google.com; s=arc-20160816; b=uoByvI4O4VJzoAEH+TxUitbe+BvRL/keRu4aqkfw2NPOLBB3Bw/g9JetOCtuIHN+EP 98R4rJb8QVeTg6DG3mZM0LP2vPfyOTjbFmXAwGaH2WZwI6YlWZ1RZK5GO8q1P9pxXC69 w2oLfNu1EyxhtEmlqNKMqODe3lyLRyohbKGjvS6493HIbEUE+zIodMndsIu6kySQs9/5 TKCjwWieKOsi/+vTOp8UEB/6OCBZhAo6GnoHJabDY1Pd91pIk5cudRh62apK02nWpTqn gIFlwWsSPcR+BtcJ2oQ6PDxYgAMw1CwjJKDZgZT2HkdjoMguQ2H+kwNfBG5OQrS1wN4C k0+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=822ac1f5WbAGrLhIvG6a2ssPYR15JsvLTBO1LaCJqx4=; b=wpKC+cu4wCTZVfLzkqn1v8GkXW5TFjPLCLhb6uoqubUquCVttcUxZIvZXFKH1+UthY NXnFm7/9yi3MXVAK5KvivHAoUMkgrY7tFlWSJoyBKmAYAwlAYU8fA69vHpenWPhnU/lc 1JYVjW3e1LWgXx2+qGut6FU5IpFI0kaEImAZ2pXfOWHpexx3TDRGJaiUXS6KrWBDcNW7 unEGScBjvetSfUGXFdP9dhxNoFH65YHFQaodKKUQ6XixtbOquJOJbv9E4wTYA1R2RXwv CK3aoWftl6Uc/spxw0EiLJ2Ovnx7wBn5EpGnJxb7OYRsJJsBtDyHuPDeb6w2/7YvP3Pk 39UQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l26-v6si3966038pfj.188.2018.07.27.06.28.44; Fri, 27 Jul 2018 06:28:59 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730852AbeG0Otj (ORCPT + 99 others); Fri, 27 Jul 2018 10:49:39 -0400 Received: from foss.arm.com ([217.140.101.70]:43622 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730088AbeG0Otj (ORCPT ); Fri, 27 Jul 2018 10:49:39 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7831F15AD; Fri, 27 Jul 2018 06:27:42 -0700 (PDT) Received: from edgewater-inn.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 490DC3F2EA; Fri, 27 Jul 2018 06:27:42 -0700 (PDT) Received: by edgewater-inn.cambridge.arm.com (Postfix, from userid 1000) id CD9131AE5252; Fri, 27 Jul 2018 14:27:42 +0100 (BST) Date: Fri, 27 Jul 2018 14:27:42 +0100 From: Will Deacon To: Stephen Rothwell Cc: Kees Cook , Linux-Next Mailing List , Linux Kernel Mailing List , Alexander Popov , Catalin Marinas , Laura Abbott Subject: Re: linux-next: build failure after merge of the kspp tree Message-ID: <20180727132742.GB28549@arm.com> References: <20180727190207.7ce1c9b0@canb.auug.org.au> <20180727190647.3525f5f7@canb.auug.org.au> <20180727205511.7c0f2e62@canb.auug.org.au> <20180727125522.GA6173@arm.com> <20180727130106.GB6173@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180727130106.GB6173@arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 27, 2018 at 02:01:06PM +0100, Will Deacon wrote: > On Fri, Jul 27, 2018 at 01:55:22PM +0100, Will Deacon wrote: > > On Fri, Jul 27, 2018 at 08:55:11PM +1000, Stephen Rothwell wrote: > > > On Fri, 27 Jul 2018 19:06:47 +1000 Stephen Rothwell wrote: > > > > > > > > On Fri, 27 Jul 2018 19:02:07 +1000 Stephen Rothwell wrote: > > > > > > > > > > After merging the kspp tree, today's linux-next build (x86_64 > > > > > allmodconfig) failed like this: > > > > > > > > > > cc1: error: plugin stackleak_plugin should be specified before -fplugin-arg-stackleak_plugin-disable in the command line > > > > > > > > > > Maybe caused by commit > > > > > > > > > > a8b9eaddb9c0 ("gcc-plugins: Add STACKLEAK plugin for tracking the kernel stack") > > > > > > > > > > I have used the kspp tree from next-20180726 for today. > > > > > > > > Well, that obviously didn't work since the tree hasn't changed for a > > > > few days. > > > > > > > > I can't see what has interacted to make this happen, so I have dropped > > > > the kspp tree for today. > > > > > > Actually, it may have been caused by commit > > > > > > 0b3e336601b8 ("arm64: Add support for STACKLEAK gcc plugin") > > > > > > from the arm64 tree. > > > > Thanks, Stephen. I managed to reproduce this by merging for-next/kspp from > > Kees's tree and for-next/core from the arm64 tree. The failure happens when > > building the EFI stub, so the commit you mention above is almost certainly > > the culprit. > > > > We build the stub with the following GCC invocation: > > > > gcc -Wp,-MD,drivers/firmware/efi/libstub/.efi-stub-helper.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.9/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mcmodel=small -m64 -D__KERNEL__ -O2 -fPIC -fno-strict-aliasing -mno-red-zone -mno-mmx -mno-sse -fshort-wchar -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY -ffreestanding -fno-stack-protector -fplugin-arg-stackleak_plugin-disable -fno-builtin -DKBUILD_BASENAME='"efi_stub_helper"' -DKBUILD_MODNAME='"efi_stub_helper"' -c -o drivers/firmware/efi/libstub/.tmp_efi-stub-helper.o drivers/firmware/efi/libstub/efi-stub-helper.c > > > > so given that we're not passing any -fplugin= option anyway (because we > > override KBUILD_CFLAGS for the stub), I don't understand why we need > > to the disable option at all. > > > > Laura? > > ... ah, but arm and arm64 inherit the old KBUILD_CFLAGS via the > cflags-$(CONFIG_ARM64) and cflags-$(CONFIG_ARM) definitions, so they > would be the places where we need to disable the plugin. i.e. something like the diff below. Will --->8 diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile index 25dd2a14560d..f3700fe08908 100644 --- a/drivers/firmware/efi/libstub/Makefile +++ b/drivers/firmware/efi/libstub/Makefile @@ -11,9 +11,11 @@ cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -O2 \ -fPIC -fno-strict-aliasing -mno-red-zone \ -mno-mmx -mno-sse -fshort-wchar -cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) -fpie +cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) -fpie \ + $(DISABLE_STACKLEAK_PLUGIN) cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ - -fno-builtin -fpic -mno-single-pic-base + -fno-builtin -fpic -mno-single-pic-base \ + $(DISABLE_STACKLEAK_PLUGIN) cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt @@ -21,7 +23,6 @@ KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \ -D__NO_FORTIFY \ $(call cc-option,-ffreestanding) \ $(call cc-option,-fno-stack-protector) \ - $(DISABLE_STACKLEAK_PLUGIN) GCOV_PROFILE := n KASAN_SANITIZE := n