Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1265228ybl; Fri, 6 Dec 2019 14:16:08 -0800 (PST) X-Google-Smtp-Source: APXvYqxG/Qm+MixZkbjWdPWMVKSFOD7LmbDNGiLuuQNziU6plJr7Kmha8+JEcavz5vNeQ7t2RzeX X-Received: by 2002:a05:6808:b26:: with SMTP id t6mr13613446oij.123.1575670568179; 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=JQH3JF4jeqWoSO5urKhEacn4Abzt4H5lbpkeufZZazxmSDWTPhWjUGplpZZUbMW91R 4um98BPa04H7zDuBJUCfmp5xZQuBmD5ESaIS9eef5kgopyVZE4r8EO7KM12h0UtTGrzv bJ7ZRWKQtAHMHWc328ZaBtOFiJlox7Yz+/2iK04b1uu7XhAJQ7BTP20ZoVyklZf6K9HX tX63nr3tnj7yEAlLe0EJRM0/QurkqlyVFdR0ZD7l9d3VsGx86rPIoOLSq5GjbcVieVpG YgGHH7FJXIOs+d/8c49Bux5ZSlLbVQGjrbwOe4X8ZQryCEuDHwUge4G1pDADeV+qQZhd 7jSQ== 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=l4zxu+Ve1HL3tnwJkQPbvyP6wBLrUpssPL9/jgnN43M=; b=O0erRo/FjSPViSSEr2PosaKy/LJjQz9o9QtxwUWEiVXRjKd2dygGJ7VbXUhGKuOTwL CMag2OzOkabPYhsiiDW7Som3jwbH+4EBlQN3H/GGn2IgblsODhg7t6yJzNqPIWNY9flz K0RMqR5wxzeOA1mGv4DhAwUM2fuYJdapUdtaLpcIlqcz5yrcG7B/02Ev+CHVdauhQSVD UD1frWxY3STu8PHMXGktg3qrpi1FY0sMBaSJyt+Xs9zKHlxR6twhi3zHxLMDKKC/alp+ 5ZDKNVopKPJ8+tN5fwxbuHErDZoD14U9j3BGqXEf6LAQ9jbbW+lF3HlJ4802C6tcjX9E 8czA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Ndn1mcgg; 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 d8si7929366otl.83.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=Ndn1mcgg; 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 S1726896AbfLFWOr (ORCPT + 99 others); Fri, 6 Dec 2019 17:14:47 -0500 Received: from mail-pf1-f201.google.com ([209.85.210.201]:36290 "EHLO mail-pf1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726371AbfLFWOR (ORCPT ); Fri, 6 Dec 2019 17:14:17 -0500 Received: by mail-pf1-f201.google.com with SMTP id y127so4827584pfg.3 for ; Fri, 06 Dec 2019 14:14:17 -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=l4zxu+Ve1HL3tnwJkQPbvyP6wBLrUpssPL9/jgnN43M=; b=Ndn1mcggyHBtKAX2XvpEyO1cvzn5t5Rt5EL74f5oQNI8xON9HZdOIOpGfCHheh4ROb ZMN247KbIgaMPUDc6e3RJ7DYNG8PST7u+oWWP+k1N+jSEe2J/d2Hj+oq/JPjyElDDN0s 1bajoDV+ePEiqhlZBkx0JT+WTHRbNVJ9xUb/RgEkuqCSSWGQ87CELue3gJUsVkVLLj1/ jMc9JOE96jedSwbK6Jh+owxavogPTbBQc3Lm1+HVnkCfDUu1/SEqZVkaAo5gGN3APpx7 /ziJCrqylxkp6ltt8RGxlVAjAuQ46tyN3U7+ZPVlmKLcHn2gKg0ggIkQts840wwlTABV 1Rpw== 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=l4zxu+Ve1HL3tnwJkQPbvyP6wBLrUpssPL9/jgnN43M=; b=ID3532JPXsuA/KNoL3CJDniYUvvKcXziSN/OKn80tzn2JKOY1WvRSNq0E5OZR5i1/N xyZBiXp/CVPXaQH6mqzKqk0Epz4EZ9seuWn+N6a6utfmNHsHKB/1VX13hMLDWM2cy1OP YFysIU07L4ncq6oh69W7s5mIKQhSe8ne3HN9ViM4lFXaVld3mmAwm1Iukywdu8ARyFQm b5IiBrWT0rlFROG7rzkPht1A0VEwlU9bEId4bTMVTaR9pDV0DCR50MVtqtdmI9mQCn8+ ahRB57QCso9Z/1hZulPQ8IBHXCzbR1PrFLv2qtk+nvqzSQROieXvgR/eOf6+wyGGjYNk 9VqA== X-Gm-Message-State: APjAAAXWSkrBxbYhfUAJQ3OUblZRmwi+mbXyai9UICQjoNll6b3xBe78 iJ+OqRHtAWdB6+x0BiwCh+EIf67i75M38o2+eAE= X-Received: by 2002:a65:4345:: with SMTP id k5mr6095564pgq.252.1575670456528; Fri, 06 Dec 2019 14:14:16 -0800 (PST) Date: Fri, 6 Dec 2019 14:13:44 -0800 In-Reply-To: <20191206221351.38241-1-samitolvanen@google.com> Message-Id: <20191206221351.38241-9-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 08/15] arm64: disable function graph tracing 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 The graph tracer hooks returns by modifying frame records on the (regular) stack, but with SCS the return address is taken from the shadow stack, and the value in the frame record has no effect. As we don't currently have a mechanism to determine the corresponding slot on the shadow stack (and to pass this through the ftrace infrastructure), for now let's disable the graph tracer when SCS is enabled. Signed-off-by: Sami Tolvanen Reviewed-by: Kees Cook Reviewed-by: Mark Rutland --- arch/arm64/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index b1b4476ddb83..49e5f94ff4af 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -149,7 +149,7 @@ config ARM64 select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_ERROR_INJECTION - select HAVE_FUNCTION_GRAPH_TRACER + select HAVE_FUNCTION_GRAPH_TRACER if !SHADOW_CALL_STACK select HAVE_GCC_PLUGINS select HAVE_HW_BREAKPOINT if PERF_EVENTS select HAVE_IRQ_TIME_ACCOUNTING -- 2.24.0.393.g34dc348eaf-goog