Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1265224ybl; Fri, 6 Dec 2019 14:16:08 -0800 (PST) X-Google-Smtp-Source: APXvYqx0mHoCKRWijZjR8/AvTGo1dk+9Dbo9ODbRHQ5LaBz7oriFj/Lo+/wp6SxvAUbCWbAZHXBb X-Received: by 2002:aca:d15:: with SMTP id 21mr15245664oin.177.1575670568163; Fri, 06 Dec 2019 14:16:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575670568; cv=none; d=google.com; s=arc-20160816; b=jwVlYBtsYys6amdjqplPTlc/g9t6I6V1zR8ja5YlVnX5g4Alr89oz2k28Rd0czrkpB 17F+obPmMKEswHShhVXEqV2f5hZE3JrHnAT/9OcfQo2frXu2w2OBz9RjwN0MpgJX5IB2 nG8m9lMspgUDIQ+aC2NDygkif6ojdzuymf85sAuxHqSSvdhfX1UKBYcGj0KD02fnf67a OsHbzlTEmAco4bsbKC43NltKBLaj+4RJOIKH8CYdVdLfvK9QWFDnzQdkko1N9AARzRDH qnzevy9vFWKGOok9S8WOv/jIqcYErV4MJL9ZcpcPpFyR3t5ISlNn26KBkk8yIw2stndP ifMQ== 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=4aDgrw7n3sKpB8rlb4e1FXGpnlGkWbIPMM9nhNp+jXs=; b=DgYKYdcx7q+E9EbMprHZf9yyUW6+iJ+x9+7km9rUU6mg3PTYm5l8PhzNTJgh2AUyWi Jt/4fjz551OYpmAaZsFAeOdKAX27JskxcRx8h4gaYHQ7v2xm2QsDqlV5hJ5QEdBbNPjZ dZ4aiEeyS6hRWFcCFlJ0dLZHSkjgmBr4XwbQnyOEN222yyJFzqzwccaQs6Wrlg4nko/a dB+n0FNQoJTMmqWdRJ4K4bxfu0dTpuJhaCJXxMDw+KYDXSnZFL9l3kPvgKL52LAS4Gi6 KNsgnuaN1IngC/LjuqlLwOnMIlh3P+/1JSFkAdh9UV3BuOWFjdwQnVM4hp5shgTW2cww GAEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=au1NZhTF; 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 100si8940844otn.128.2019.12.06.14.15.57; Fri, 06 Dec 2019 14:16:08 -0800 (PST) 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=au1NZhTF; 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 S1726706AbfLFWOV (ORCPT + 99 others); Fri, 6 Dec 2019 17:14:21 -0500 Received: from mail-pj1-f74.google.com ([209.85.216.74]:53182 "EHLO mail-pj1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726642AbfLFWOT (ORCPT ); Fri, 6 Dec 2019 17:14:19 -0500 Received: by mail-pj1-f74.google.com with SMTP id b22so3121376pjp.19 for ; Fri, 06 Dec 2019 14:14:19 -0800 (PST) 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=4aDgrw7n3sKpB8rlb4e1FXGpnlGkWbIPMM9nhNp+jXs=; b=au1NZhTF4wAsexOlDW3QvGUTHHibdiuoOGtKnmjfRLZ0pPJFJKE+opISQXIrUR97ye Jne0qPeQQiFimsKZER4HaK21Z32PFAMdXThycc6amcnFXyiRGqcBd7hzGtaSxtjLovKA MtCxYRCUfBUiozbQAY8WWFFWshKqoTOktvqXvtAigS6VHdCV5+fVo6wqlgPIj5sUrPy7 nyM+Yj6Rc076XJ7CjGnjpbrP4L2nSj+srGB86VsKIU0Wi383uYJUprK31BiItYr5v/o2 Pxb9DYcCbj3fcvL19VOlmfxX8nuMHZ73nI0/DFRRg8SJ94YuyFgsEVGXyEeevmK3xEjY Wuvw== 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=4aDgrw7n3sKpB8rlb4e1FXGpnlGkWbIPMM9nhNp+jXs=; b=WG4oUc743RpxK/dXy84xhvNnc5oOvWVpR1/1UgauPBCTYjsr9BSzGbSYsOPyVfBdU1 W/H4o7nFq/yzB8Vb4XNzTzysws96tpVf8fdcIw4bOYIfKIRsva1AWPcwsjpMiDyA7h3J 0/lnaqfvxVEiwCDmjQdc5ARrYpPEnqOD1gysuJLBJ78mCVQSu/pv0JErAhSsxBrIAYyA GatrN0V9DbA94L0y4bytrusP7EgQQtiW+Va2SrLnyZ1fagal5P2aW2E/jD7K7kqzSclu i/iFMMe7/57hVP4E29QP9Ys8dT8/3qbznQaCbuCD6XJS9tAWC5RGgg68e1mLk3Tg02j/ bE8g== X-Gm-Message-State: APjAAAWtS+6mZL+doqCr8C4ZezWgfoomr+ai0UhkUrI53NEmCu3NOJCD NkBYZhyNN1R797J7GmGbJmkys0oB0fak6Mkv5ic= X-Received: by 2002:a65:518b:: with SMTP id h11mr5968857pgq.133.1575670459027; Fri, 06 Dec 2019 14:14:19 -0800 (PST) Date: Fri, 6 Dec 2019 14:13:45 -0800 In-Reply-To: <20191206221351.38241-1-samitolvanen@google.com> Message-Id: <20191206221351.38241-10-samitolvanen@google.com> Mime-Version: 1.0 References: <20191018161033.261971-1-samitolvanen@google.com> <20191206221351.38241-1-samitolvanen@google.com> X-Mailer: git-send-email 2.24.0.393.g34dc348eaf-goog Subject: [PATCH v6 09/15] arm64: reserve x18 from general allocation with SCS From: Sami Tolvanen To: Will Deacon , Catalin Marinas , Steven Rostedt , Masami Hiramatsu , Ard Biesheuvel , Mark Rutland Cc: Dave Martin , Kees Cook , Laura Abbott , Marc Zyngier , 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 Reviewed-by: Nick Desaulniers Reviewed-by: Kees Cook --- arch/arm64/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 1fbe24d4fdb6..e69736fc1106 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.393.g34dc348eaf-goog