Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1416394ybx; Tue, 5 Nov 2019 15:58:04 -0800 (PST) X-Google-Smtp-Source: APXvYqzlNSxdZBzl+eGnybzsiRP1glr6b3bxD1KzLvDkpagKvD2rWzJqfaPJJKmye8mjQXA2LSCj X-Received: by 2002:aa7:cf8b:: with SMTP id z11mr6498623edx.294.1572998284081; Tue, 05 Nov 2019 15:58:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1572998284; cv=none; d=google.com; s=arc-20160816; b=BkNeiwA77Vr6Oq98hK+nVflHMnmMglnIv4Nv7b6xDTiGlnoQGUm2VRwGmVUMalvZLn 3KOJFSvQ1AG2GIFNzae7Ay76DYjrcUR6PRqgkJZGJ1nZ/snRPiUJvV6r5x0LBMwhTr1d F8SNlyZBhvES2wBbMnkNRoghiCufTIw+GJOVWNofMvJewDHlugjn1DiWYG7gCfP8ncs1 E0KHzX3t7XqkqRLom5XvvYz5VD9agGqNmx00BKTQ736WMM0Z87jK3ONJmk/W554SDqe8 f1l8OK9Ht2e5fZuNzEY+x6z5lNNOqd+ztLBczs+yotiG5HpLlwZgZ9nA9Vzcdvt278Xu PRPA== 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=xr3X122JfUZTOJ9HNPiJpW+Iyor6r4hGY/b4sjNxJZA=; b=PVEDMPoWHvhXz6XkXjJw7DOeHxh5r8t2N4gj6DsgHDCvGHFILdxXPlahCYk24iyvPw hAw2V2lMzfS7OAFBdVeCy6gl2ptKLGTFBEj/7bg+HRXLlz7AgZrq5ViPTQeCGzghcM1X oze0gXQihAF823Wb6eKTxPT11IRTSSN2SH+6GeZCEbaaD52nAqw3JVJFLgbzQKVsTEVb hZzWdkD2pb6K/sB1HJI6M3D+HOc3Ai4K8bBjMdcG0nUbJuip2aUvrkiu4nzgBSVIvSw/ nMutC6stzxC1DdpDFSuBHmfaeo1F2lEccYyBpLX9B9oRmvM8qiDnGgEdL1ZurwoqDt4a /Mig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="WX/V/VTf"; 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 g7si10367086edg.66.2019.11.05.15.57.40; Tue, 05 Nov 2019 15:58:04 -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="WX/V/VTf"; 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 S2387567AbfKEX4n (ORCPT + 99 others); Tue, 5 Nov 2019 18:56:43 -0500 Received: from mail-pg1-f201.google.com ([209.85.215.201]:36170 "EHLO mail-pg1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387543AbfKEX4m (ORCPT ); Tue, 5 Nov 2019 18:56:42 -0500 Received: by mail-pg1-f201.google.com with SMTP id h12so16350147pgd.3 for ; Tue, 05 Nov 2019 15:56:41 -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=xr3X122JfUZTOJ9HNPiJpW+Iyor6r4hGY/b4sjNxJZA=; b=WX/V/VTfUhYNVK63Q6o2nwuNZuF84nG4taeFhEo17XXi/wiIq5TBNma6L2QWkkxymH DvQMMy0aOWkuLzcjaD/VZ7I9iJTaYKRhuhci0d1Uv1dvow1PsPAbfcG7lofjVT32BZTo XfopDA2vhLhs1jhnHF0BtxTMW++6XgIwcQqObAyguiG5eCzS2AdaeI/mW/++SFMdkYFO 0sFgOE5K8+grQi8hixiOmdeRZME3HY40NRXpHJTOGJP9Yp/g21dwfZOSqMKsicYNTg7M PQxjmxBUU54ovXgSaLB6R/0V/BtxcVf6/NuKLrw9AecxZk0Kx+tl9gJtoHFRyt1RFLTp RO5A== 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=xr3X122JfUZTOJ9HNPiJpW+Iyor6r4hGY/b4sjNxJZA=; b=X0Y8xZtZxj6VXKvXAkoQPCCmZD/EbX5KrNsE9/RaVCPct4ydbLYrpwSUDTCgm1WVrG 9BF4lsIlUqUECOaGXvYa4R0nc3nQ8sbpMZDtI2SVSlTiHqFfNFCAPsLPWND8BVjS/Zxq 4nTZl2u4yx6jXABiYKcJwJbpnw3aC4wxTx2vircyYoeYmwF0ssWiF2IQdxK71fAjPh+N VArFAEpMTcv2gyK9k2081fk5BO0zlN0NTk3HUdYhJhs/txnRblEaY6yZlQINNeDJYKEn pocjQH0qik9wJiCSiNI/lc+xOtGAsIye+Z6i5JbWcOZFGCTcmrC4pzogKGxgb/WTgk7k B2Sw== X-Gm-Message-State: APjAAAXHDnOGrLy7Oca9NKST/l8s9X0VHWQpkaAVlf+KT62FGs1NWn2C LiQQBxX6/gq7RgO4vX8rYYKLopJjvaHVX8XTXh4= X-Received: by 2002:a65:5683:: with SMTP id v3mr19280245pgs.190.1572998200132; Tue, 05 Nov 2019 15:56:40 -0800 (PST) Date: Tue, 5 Nov 2019 15:56:03 -0800 In-Reply-To: <20191105235608.107702-1-samitolvanen@google.com> Message-Id: <20191105235608.107702-10-samitolvanen@google.com> Mime-Version: 1.0 References: <20191018161033.261971-1-samitolvanen@google.com> <20191105235608.107702-1-samitolvanen@google.com> X-Mailer: git-send-email 2.24.0.rc1.363.gb1bccd3e3d-goog Subject: [PATCH v5 09/14] arm64: reserve x18 from general allocation with SCS From: Sami Tolvanen To: Will Deacon , Catalin Marinas , Steven Rostedt , Masami Hiramatsu , Ard Biesheuvel Cc: Dave Martin , Kees Cook , Laura Abbott , Mark Rutland , 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 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.rc1.363.gb1bccd3e3d-goog