Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp6395262ybv; Tue, 18 Feb 2020 16:09:31 -0800 (PST) X-Google-Smtp-Source: APXvYqxyNplcG94J9f4rOntMag+4DczpyiDHcHbXB/hWnVmdtkZBXlqL/VcnMPiskrlzWR9qOT1A X-Received: by 2002:a9d:7696:: with SMTP id j22mr18777812otl.188.1582070971116; Tue, 18 Feb 2020 16:09:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582070971; cv=none; d=google.com; s=arc-20160816; b=sQQA1Sv3KA+xuNEaauH57CDmek9xOAZ3Gbws4nc3Z8x9ZcoB6bWGDZiIIgvBtlC/lx 9Ol3t8Gx7RpBmROh27enr1D+Px/iytNYy1NOPW0b3m41LlFtteSnoSYMVdQtkBnIqVCJ +4L/Zeon6EwB3RG2Ecf74gb9ODIXOLd2OCxz9lIpo+EeW/RzXZrH6PU9nVyxEMHGwbWY zqade+l5nmZZCGUmReqfwDGeElWjF9pk3BuQo9agdhG7b37qF4bi5oG+qxlDuUbDT5nF AFcLk6nl1IDVSPha+XrbXRbcVx3WjtbTsU5PrHvIyc4VRDa8GHi5XUCZQRB2Jss5Tyg1 BFjA== 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=l6scMayGLTv8i90n5kl1qjpFIVxp1ij4wxIMmOxT7WY=; b=MKW2/oz5xDM/caReEVHRD+gN5EzTCUS8R0XhYQWQdAwpgHDbjJ4f8BuycA8Y/RI2m+ GYH4DhBBsLb937sQ8yG29l5pnJH3Y0uB94LQW7NHy45yfg2CJFlFX37d8L7cd+zuZLPr e2BTSLCIFKADEqmIleH4aa0Gpg0A+h5YWqUzcR4v2Al+yqA6i5N0H5P2FmSSa9NiE909 6lCvK4eNVq0PbWu6Q30Ffh++EVd8WbMqNu1/J26k1WoWAe+y8YztZM81XdvixCbTVZGM LLsEGaoBPBTqX97+8QT9tx+UiIeDvciX4gmnVviuOjD5KP5zKnYZw6QtPrkDXHlY821E sG9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="MxFF3Jv/"; 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 i8si213308otp.254.2020.02.18.16.09.16; Tue, 18 Feb 2020 16:09:31 -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="MxFF3Jv/"; 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 S1727845AbgBSAIm (ORCPT + 99 others); Tue, 18 Feb 2020 19:08:42 -0500 Received: from mail-ua1-f73.google.com ([209.85.222.73]:44131 "EHLO mail-ua1-f73.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726482AbgBSAIk (ORCPT ); Tue, 18 Feb 2020 19:08:40 -0500 Received: by mail-ua1-f73.google.com with SMTP id 108so4386129uad.11 for ; Tue, 18 Feb 2020 16:08:40 -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=l6scMayGLTv8i90n5kl1qjpFIVxp1ij4wxIMmOxT7WY=; b=MxFF3Jv/EWuhcxvZl8W5ImYcIiftihQ17JrQuHbGUe20LeBqGWlX0Vs6EqB8LFvumk b4ZoyiHXFOiODzyJoXD5yx1cna013lW8Pi2WUil5kfKJ4aedq1jjXZg4P8fML2UAyTyQ /uNIUrr21WgVaMdydYT05C0JnLFxVqjKAJsDDyn+vQuSScdem6mYvmOJiF6hb0qLTEw0 Smd2xgO77Gu1gxaZmS0EyOZN3oetuc1I+tCOXl2LodF41Ek5dZApBYffEvCiAu/ywSMJ +XuBMpKej6buzdbjJGHsVoEc5I0LNkBH4XpX2SCaya8u2R9u8a9PAO1CbeaL1bxUo0gF FQbQ== 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=l6scMayGLTv8i90n5kl1qjpFIVxp1ij4wxIMmOxT7WY=; b=Nm9dGyGMfPaDMjQqKgfjUGBKtRwEhd12RGyDdl7I5O85Lli/iLW48kQE/JcdOzfyKO AfWABFanU5h3qGUmuFvCX6ZeXskkcwQ8lDruSI2YwMHskD9BC40HxxNH/2eKoMNL090C 3mAIfKUzXHZWGAlggNDddXemyK+JBg2QCnvg+1P+m9jv8xKil0PpsajDNTC2qyC0zlVQ FUAUl1Nb7lIEkoOvMaJ/0qM4a2RjWdwF9bLKZIWTDNGNUz1wYy7LwC0+42Co3gFFyCJ5 W2r8CE5EfNuJAX1eynr++sz5isIYU0FRh1i6BZ4k6zLeA7t73SwQayV8xkcnqwALPuGV K+DQ== X-Gm-Message-State: APjAAAXrBBNOHeqTeDYhwE416bogOOxEg1LmITfqYQ8RYzIC59b64a1r 4e9jW7n4vNh/1oDm0Ja/eg3LCpt6OMz1iwi4OyY= X-Received: by 2002:a67:f144:: with SMTP id t4mr12321250vsm.36.1582070919665; Tue, 18 Feb 2020 16:08:39 -0800 (PST) Date: Tue, 18 Feb 2020 16:08:09 -0800 In-Reply-To: <20200219000817.195049-1-samitolvanen@google.com> Message-Id: <20200219000817.195049-5-samitolvanen@google.com> Mime-Version: 1.0 References: <20191018161033.261971-1-samitolvanen@google.com> <20200219000817.195049-1-samitolvanen@google.com> X-Mailer: git-send-email 2.25.0.265.gbab2e86ba0-goog Subject: [PATCH v8 04/12] scs: disable when function graph tracing is enabled From: Sami Tolvanen To: Will Deacon , Catalin Marinas , Steven Rostedt , Masami Hiramatsu , Ard Biesheuvel , Mark Rutland , james.morse@arm.com 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 SCS when the graph tracer is enabled. Signed-off-by: Sami Tolvanen Reviewed-by: Kees Cook --- arch/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/Kconfig b/arch/Kconfig index 66b34fd0df54..4102b8e0eea9 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -535,6 +535,7 @@ config ARCH_SUPPORTS_SHADOW_CALL_STACK config SHADOW_CALL_STACK bool "Clang Shadow Call Stack" + depends on !FUNCTION_GRAPH_TRACER depends on ARCH_SUPPORTS_SHADOW_CALL_STACK help This option enables Clang's Shadow Call Stack, which uses a -- 2.25.0.265.gbab2e86ba0-goog