Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp4213546ybg; Fri, 25 Oct 2019 15:12:55 -0700 (PDT) X-Google-Smtp-Source: APXvYqz4d1IQLDTBsa2rMDXcuOy+y6Aqfss/gCY9gcgEdaPsOMBBU0huz2+SoVtctVdvLnC3TawU X-Received: by 2002:aa7:cd43:: with SMTP id v3mr6439944edw.235.1572041574832; Fri, 25 Oct 2019 15:12:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572041574; cv=none; d=google.com; s=arc-20160816; b=1LaiYkibAA7KvYFXoeCkgrSft9g6WVmvKueO9EJMWJ5sg2KTlKNN2WTim370i0IOjS VSiHAQaYIXXoV8k1My1sxgEL91CjWc5YXr4Bas93Ws0AqQOoXmpe6ZFCq60kZWjNNkdU Ceyy/kJUj9LKph6E7d/VEphimtm738lhxmCFJ84AiO8BJsRqp/1o49vNIQXGYC/aTNWZ MNx6PUB5t7mxZEdeluySNxI2Vs6+fTLPQhNi/zHXfe8fY2pv+KiUUoX9IICyv5K4FJPH d8bo/zQqompoPN7wFCnm7Ve47jLBsnIwTcrx0cBcJUe51NkokQ8Fg2JhwfEgr4NiOPHH pLaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:references :mime-version:message-id:in-reply-to:date:dkim-signature; bh=P4MEC/JNWY+R+03CT6BMcXkN4eq/H40mvA6s8gty/0o=; b=WOs/2xasZ6Lmwqs92rT9ipHHzTvRxHYvEn5qzJQVES70unzm+9qnixsWec7VKEAb6/ s7ZK8/BuP91W2v+DJfG179DcnSNrQK3WQAuGeEB5FhyWjbKOqje13lJxueD2mEtNX8Ni H5KkgiHSvbccfF1RT1KcG202iZ7uul97ikR4cpAmu/e6Yz4Z0rpLIb8IGtJPMVOS+CTW S6PvYJmYez9QKMoGb49vtzrcl8sYiCxITcWq6ZDIgAy3EdNr48gXR/ZXJoEw8ggdP++c vMe6RB4bscURb/tUSGs8hijoEd5+qytIS6tobE7aVA4/SEPIYNEcmzQzWAIY50EPc+Q0 FACg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=LgK71Gir; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f8si2494845ede.120.2019.10.25.15.12.29; Fri, 25 Oct 2019 15:12:54 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=LgK71Gir; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732547AbfJXWwY (ORCPT + 99 others); Thu, 24 Oct 2019 18:52:24 -0400 Received: from mail-yb1-f201.google.com ([209.85.219.201]:40522 "EHLO mail-yb1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732510AbfJXWwU (ORCPT ); Thu, 24 Oct 2019 18:52:20 -0400 Received: by mail-yb1-f201.google.com with SMTP id q127so450616ybq.7 for ; Thu, 24 Oct 2019 15:52:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=P4MEC/JNWY+R+03CT6BMcXkN4eq/H40mvA6s8gty/0o=; b=LgK71Giry5j2UUrcqZm8M1t7G3cAfX70fiBl3GzVzX02VQgK8Xy/2JaMhQllH7/ZPL nbGIhdXyHvO6fXRGrMomvZJWhyGPRIV+y5d/BACVs3jLEuafWJis56Ilg2TYMyAOMkM5 SfUjIveEskgTQm3JvXHTwS4MAd3espod1yTXwztKlrb0HBnCQxMl0mltDYsrGzXFlpAt 6tZqhZ8nWrGVt0cWZi2CF1EWQFTr31Hkxzp7LT+IslJa1Cl5Oy3SBFezMzAOQVF4maYG e9EgGYHPCM5PcJ0/rpT9DVxNu/NMQhoXs2qqn/CdhLriWJXwzW/tS3v6g8YNS9Gn2Pkb dSag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=P4MEC/JNWY+R+03CT6BMcXkN4eq/H40mvA6s8gty/0o=; b=ElBxoXlnEqiEvjpLv7okxKLKvDFKqR7V+XotdUo/YV0JDe9ZuxxOdeH/UbnrS2xsS4 QSMV+XgEz8FP1K0GGOcArpYC5nk9akPJre+KR7Vo1T6b+C89vUjgV0s8XzuJU0efJAmV W8taLmU7k1wHC8ErGasX29tIPLjaJhlGt+fHC5MPYXbgbpdLBFdHAjETbm3kpMvOob/F SIkQNQiQ8C8i9Y5H9ZJY6/QBdqolUnld4Ygoi639D5YuWhBrcyn09/P7xZe++SqOGkbE 2ZW/O1PaIIefFhSX02g9c+2l6Zd7pITMYtOth7CofOEcpsAbwrpTkU1O9uwq0GBVLBmY dVdQ== X-Gm-Message-State: APjAAAVOOxXW9JKdIZbWKsPcpBNUqM+2K5yPgUImxikFP/LOImNWo3Bk Y478NMEOD26c+MJe/iXCCxDhmHI9DCoCM2PpAd4= X-Received: by 2002:a25:2a46:: with SMTP id q67mr381984ybq.123.1571957539222; Thu, 24 Oct 2019 15:52:19 -0700 (PDT) Date: Thu, 24 Oct 2019 15:51:26 -0700 In-Reply-To: <20191024225132.13410-1-samitolvanen@google.com> Message-Id: <20191024225132.13410-12-samitolvanen@google.com> Mime-Version: 1.0 References: <20191018161033.261971-1-samitolvanen@google.com> <20191024225132.13410-1-samitolvanen@google.com> X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog Subject: [PATCH v2 11/17] arm64: reserve x18 from general allocation with SCS From: samitolvanen@google.com To: Will Deacon , Catalin Marinas , Steven Rostedt , Masami Hiramatsu , Ard Biesheuvel Cc: Dave Martin , Kees Cook , Laura Abbott , Mark Rutland , Nick Desaulniers , Jann Horn , Miguel Ojeda , Masahiro Yamada , clang-built-linux@googlegroups.com, kernel-hardening@lists.openwall.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sami Tolvanen Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reserve the x18 register from general allocation when SCS is enabled, because the compiler uses the register to store the current task's shadow stack pointer. Note that all external kernel modules must also be compiled with -ffixed-x18 if the kernel has SCS enabled. Signed-off-by: Sami Tolvanen --- arch/arm64/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 2c0238ce0551..ef76101201b2 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -72,6 +72,10 @@ stack_protector_prepare: prepare0 include/generated/asm-offsets.h)) endif +ifeq ($(CONFIG_SHADOW_CALL_STACK), y) +KBUILD_CFLAGS += -ffixed-x18 +endif + ifeq ($(CONFIG_CPU_BIG_ENDIAN), y) KBUILD_CPPFLAGS += -mbig-endian CHECKFLAGS += -D__AARCH64EB__ -- 2.24.0.rc0.303.g954a862665-goog