Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3738524pxb; Wed, 13 Oct 2021 11:55:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQJp4m33dVMGMQVkQm5Bh+iYKjdHuzbGVBgMmAAjQBCEcsPSSO9SzrjaMfsaERwikWIAgX X-Received: by 2002:a17:906:a158:: with SMTP id bu24mr1110549ejb.356.1634151348055; Wed, 13 Oct 2021 11:55:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634151348; cv=none; d=google.com; s=arc-20160816; b=cJADRvhdg7uPIT4kC+MbIeUCf0dWzA+cLytSa+tIbDKfFiakh84aG6zcFQVewNI1pk +SQunF0Artvc1tNPCb3GHUxprnuIMYhtt5CEgAgscdfAqbxYrwRuiKbgZjiLgAI+1qDq eH9wQlixjbsprLIdwORE4h3nIgKC7UATKn2RuUBHW71fIoyTS2FiEogDDI7Wo1y1xjCP h2soWneYyCaeBSmiGxL3N5wg+U/W0HnzyXSqS3RFctmCPZhnNf0LktkUSHPYjx3xn1D+ Qvn4JxmKRRYfX8m+sKYhWRvnWP5TAL1eOn8Wqv4dUWZyUnu7RL9PbyCF6KplGOIFkol5 7/nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=b8/P8tB/Z2lB3uczx8fuNs4yrMjdgai73jQwqgSmb8k=; b=d9Hp6tdgJApM8fOO9T+tpIUIO9FkePNPNF1m5aFUDvP5wTPbbg31x+2/xjwpVDHD5j UVTBFyGlzhzUtgbMjoo79WjxLJfAudfTOhee+tQWhG/yn0JYlqsg93uxvjlTtiQr64Bj an84AcWQp1by1Yo/oEyZOJZ+1u5XZAwvWtCNCHI6zQfY7/JMKsF1gJCVP/56Ub1QW2pI AZEyH1s7KOs9heuhbMvBW3VsOb+Fug/w0O9gXWBEYP0uCLNrSgN5r247tbjj+PzGG2Su nHdQE2ZSS5RuZRceKUsfTJ8XFSsa3PrJTApbpP9+QKg84/eFUAxMKgxAQ1SGLoQBV52W meIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=kDywsRyu; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 2si536407ejl.713.2021.10.13.11.55.22; Wed, 13 Oct 2021 11:55:48 -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=@google.com header.s=20210112 header.b=kDywsRyu; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238652AbhJMSwa (ORCPT + 99 others); Wed, 13 Oct 2021 14:52:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230415AbhJMSwU (ORCPT ); Wed, 13 Oct 2021 14:52:20 -0400 Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1254C061746 for ; Wed, 13 Oct 2021 11:50:16 -0700 (PDT) Received: by mail-lf1-x131.google.com with SMTP id n8so15948365lfk.6 for ; Wed, 13 Oct 2021 11:50:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=b8/P8tB/Z2lB3uczx8fuNs4yrMjdgai73jQwqgSmb8k=; b=kDywsRyuPxVHakfyaPBhZGFsKn8P4P0Orn2Y9o0bfVo3J1d4YQZHM3XDib2XXfdWRs KTmYLFOmkI72Z1QGH14GvjX6AYTmZDaS5dPBLcz6wdhhka5qkR2cU5HScrfq4eii9joB kJjGWi78b/h0zw8iYk9t9gAym09ABl/pER9JXtJLYgxQ76TT9SVBaLAHX0NHc43gYtpv IT8uisa6SAJ5YyHZQGUMVqG+3X4K8BBUc6GIlt52UJw1KnuqCIAIzZwGOt7sIWLXLM4M bbF0pE5C2+pwsgZA7jHkaRqoaaFO9M5F6awahLSQp4rxAF+ikhwtg2LfOdeyXOevu15n rmFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=b8/P8tB/Z2lB3uczx8fuNs4yrMjdgai73jQwqgSmb8k=; b=wUO4kVmSVST3NIkFYdmWxwMPBX4QvGT9PPqpitahKr6ZuoHI1N8Pz/+NlG+12fDRf9 NOVE4iIDrLxQ3FBs4ZinZqi1zz+vdkpDFdaW7qQfShcJ1n0FVZJ4GfoUWk/Zfs9WAc1L TH7i/2I9f3fWVeEUKCRnQrxd9AiZcJONT6cwRPsLIWktss7QWncnvk16gtUh1gv3Stmt lc4dBBXMjq+Zhwjj0f0ncq93PpCCletEQO9WmbcZ4jEPCSkItlKuCBBVmiq+dDCSN/Hp NjbW4S/Bld5OSldfS8DacnhtJMaJ6Vhiyjfrqwzextr6CKnioHyOM+0KbZdPhNf/6tkE KySg== X-Gm-Message-State: AOAM532yxujiL+StvAWeP+3b1zE8yizIlL/pY3vYu/ki0a8JvxAHheZ1 EDXsXrsv+qMUm04nDsiio69niQb81vtroRbqkrmbuA== X-Received: by 2002:a05:6512:4c7:: with SMTP id w7mr700247lfq.444.1634151015014; Wed, 13 Oct 2021 11:50:15 -0700 (PDT) MIME-Version: 1.0 References: <1634148189-29393-1-git-send-email-ashimida@linux.alibaba.com> In-Reply-To: <1634148189-29393-1-git-send-email-ashimida@linux.alibaba.com> From: Nick Desaulniers Date: Wed, 13 Oct 2021 11:50:03 -0700 Message-ID: Subject: Re: [PATCH] [PATCH V3]ARM64: SCS: Add gcc plugin to support Shadow Call Stack To: Dan Li Cc: masahiroy@kernel.org, michal.lkml@markovi.net, catalin.marinas@arm.com, will@kernel.org, keescook@chromium.org, nathan@kernel.org, tglx@linutronix.de, akpm@linux-foundation.org, samitolvanen@google.com, frederic@kernel.org, rppt@kernel.org, mark.rutland@arm.com, yifeifz2@illinois.edu, rostedt@goodmis.org, viresh.kumar@linaro.org, andreyknvl@gmail.com, colin.king@canonical.com, ojeda@kernel.org, luc.vanoostenryck@gmail.com, elver@google.com, nivedita@alum.mit.edu, ardb@kernel.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-hardening@vger.kernel.org, clang-built-linux@googlegroups.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 13, 2021 at 11:03 AM Dan Li wrote: > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 62c3c1d..da2da8c 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -81,7 +81,7 @@ config ARM64 > select ARCH_SUPPORTS_DEBUG_PAGEALLOC > select ARCH_SUPPORTS_HUGETLBFS > select ARCH_SUPPORTS_MEMORY_FAILURE > - select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK > + select ARCH_SUPPORTS_SHADOW_CALL_STACK if (CC_HAVE_SHADOW_CALL_STACK || GCC_PLUGIN_SHADOW_CALL_STACK) > select ARCH_SUPPORTS_LTO_CLANG if CPU_LITTLE_ENDIAN > select ARCH_SUPPORTS_LTO_CLANG_THIN > select ARCH_SUPPORTS_CFI_CLANG > @@ -1062,7 +1062,7 @@ config ARCH_HAS_FILTER_PGPROT > > # Supported by clang >= 7.0 > config CC_HAVE_SHADOW_CALL_STACK > - def_bool $(cc-option, -fsanitize=shadow-call-stack -ffixed-x18) > + def_bool (CC_IS_CLANG && $(cc-option, -fsanitize=shadow-call-stack -ffixed-x18)) I guess since clang supported SCS since clang-7, but the minimally supported version of clang according to Documentation/process/changes.rst is 10.0.1, then this could be: def_boot CC_IS_CLANG || $(cc-option, -fsanitize=shadow-call-stack -ffixed-x18) Then we won't have to touch it again once SCS lands in upstream GCC, as the cc-option test will start to pass? -- Thanks, ~Nick Desaulniers