Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp1750254ybg; Sat, 19 Oct 2019 01:41:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqzRuh8LpID/qDAEsnFUwCf/XhauAndcFNEgNBcvKytBt3Tz9XiwJjIrgw7j7ejuW+B6tQfW X-Received: by 2002:a17:906:48c6:: with SMTP id d6mr12525473ejt.291.1571474511253; Sat, 19 Oct 2019 01:41:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571474511; cv=none; d=google.com; s=arc-20160816; b=xrVddl/w6NCoJ9+4GqhotBqbFXt4N0/v1ebDFgfffQHOGAzqCXBIkZC9s8ubL+0H44 3Njp+Ds+4NXoxQcvgQemrhiSCCiguonbp3qi4IQqQv6AE1EpONMynX+TBVT5drfQiamJ 0SEyOPjF5DTo1IwDWq78qZt+pK/opHhhLw489g/F/qKRdaZgySXXEgaf+Wz92iVgr1hA rHqKlfXl2utfwbv2CbOfi54ohowO9xrKr8dB3D5FY9Uch2wpHHfBsuR8AxFhDLIyXGZz n6yS0pAQS+pbAeZiTR5yMsQ5T1OgYu2Ye0MZ71DpF4S+T8NfhvsuPb8kA76sJOQyEzT5 vxug== 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=K1ZhNofnBR/XSzepuNm2GXj6CjTITzvlb/GIVw7T7D4=; b=zQ/0wTdmpCtMvcALjSELDrfpjrrnaX1ysmcpJhJAgLFcMzhhYhcShZnDVrMjr/RjXw JavKryqgLewhLDqzRYIzCKd85fCy+dNf1CbtUsj76fjjx6zdVCXyokXNcsnJix5CZkXG aa76DNqhuiVGwzh2Dkw/OPoqGxIlcy8sVdDUZdBZWRKeT2zS4q6mYiF3+HurF0jUQFpg msb1GY3lN+MsPcVr6assNTWwvcq10tbaSKzAbZ6QYHHAJMiEIP/JmKtKnC7Ke7tWM0IW YynufTaa2NamQ9OnEaHOT+y8/NFdl7gdL7nhjS9zKcs1wWco1uUyR9SHcdqVqkzVf+Lx 3kug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=sClupJ7s; 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 p38si5519119edc.449.2019.10.19.01.41.28; Sat, 19 Oct 2019 01:41:51 -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=sClupJ7s; 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 S2502608AbfJRQLX (ORCPT + 99 others); Fri, 18 Oct 2019 12:11:23 -0400 Received: from mail-pg1-f201.google.com ([209.85.215.201]:39685 "EHLO mail-pg1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2502587AbfJRQLV (ORCPT ); Fri, 18 Oct 2019 12:11:21 -0400 Received: by mail-pg1-f201.google.com with SMTP id m20so4589743pgv.6 for ; Fri, 18 Oct 2019 09:11:21 -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=K1ZhNofnBR/XSzepuNm2GXj6CjTITzvlb/GIVw7T7D4=; b=sClupJ7s2vyir/7TQw4u1wskJ40f2afok9L62g3bdETWOSrvPIoJbt2TUVhCDZl2Ll jSD1Pe1pU7jtmC4+A/khfQCqIGy7o+x3Glnf1WXjzHqx9iAelj7PV0FH9T6XgXbpgXPr QmyFwYa7yB+qCqYypJwWf511MkYFKNAU+aHSUjTgdgKc/LGoN7I1EdcPjslTcJn6Nsnh zpS9sYd2YqSiWR32qZg1jO6XyvMv14Qmysa4U0MKWEQOtGZOZsv14zS5QNAzrCYTZwhv xDZy49ncrITpJUlYkIIuqsGVZMQ4LMcDek2uuDnjzpOLCvDTsilhXvrJN1MvHxPElje/ wDsw== 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=K1ZhNofnBR/XSzepuNm2GXj6CjTITzvlb/GIVw7T7D4=; b=Ejrl83SqObZiKnxhJmhY8QnbCD61uAFHFJxnUPkCvEFBV/q0efm41Y+7BrK+PsGrqE ipx5F2pzh76dT8S8/2Srm38IO4K75cjTiW1yDK6EtM4aUWdpVZWgBKmxQkiEB8DCcqh7 z3QMiWIgNImGtj+7/tQ7vL4Ej6WGxwwZMEt1QeGa1UiyT795uQE7UUP5hyi33tfqMD+1 e0C59DbtM+AcEVEtr6Ngis0bTd9kKAU/2Dq1ioRrHyGUr82DNPhAnFr4cfRmnnF8cG4v jndQH8nr8mn61ATvTutBe16wx9m+O82EI7ta6RAT5DVXo17c9rjLqOH+JKdQcd+NlIOn wG2A== X-Gm-Message-State: APjAAAUMY2Wv8zjfpHVzv49tvPOmA2Pn6URnQWkXD02ryhRl95j2c7TB iY3IczMZZwObCKrs7HlCWzbEpfHW9fIJSheIMZE= X-Received: by 2002:a63:eb52:: with SMTP id b18mr10634742pgk.205.1571415080458; Fri, 18 Oct 2019 09:11:20 -0700 (PDT) Date: Fri, 18 Oct 2019 09:10:27 -0700 In-Reply-To: <20191018161033.261971-1-samitolvanen@google.com> Message-Id: <20191018161033.261971-13-samitolvanen@google.com> Mime-Version: 1.0 References: <20191018161033.261971-1-samitolvanen@google.com> X-Mailer: git-send-email 2.23.0.866.gb869b98d4c-goog Subject: [PATCH 12/18] arm64: reserve x18 only with Shadow Call Stack From: Sami Tolvanen To: Will Deacon , Catalin Marinas , Steven Rostedt , Ard Biesheuvel Cc: Dave Martin , Kees Cook , Laura Abbott , Mark Rutland , Nick Desaulniers , 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 Only reserve x18 with CONFIG_SHADOW_CALL_STACK. Note that all external kernel modules must also have x18 reserved if the kernel uses SCS. Signed-off-by: Sami Tolvanen --- arch/arm64/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 1c7b276bc7c5..ef76101201b2 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -55,7 +55,7 @@ endif KBUILD_CFLAGS += -mgeneral-regs-only $(lseinstr) $(brokengasinst) \ $(compat_vdso) $(cc_has_k_constraint) -KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -ffixed-x18 +KBUILD_CFLAGS += -fno-asynchronous-unwind-tables KBUILD_CFLAGS += $(call cc-disable-warning, psabi) KBUILD_AFLAGS += $(lseinstr) $(brokengasinst) $(compat_vdso) @@ -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.23.0.866.gb869b98d4c-goog