Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2080922ybv; Fri, 14 Feb 2020 11:05:28 -0800 (PST) X-Google-Smtp-Source: APXvYqzBK/IAc/7sx1k1EsIKOk6NZPCTahdUM8qMdWy7mpHtcie7qV+CT65CLx+rCHV07j6FF02s X-Received: by 2002:aca:d610:: with SMTP id n16mr2925978oig.108.1581707127823; Fri, 14 Feb 2020 11:05:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581707127; cv=none; d=google.com; s=arc-20160816; b=HR0SX/eTM0pXVeK1C8b/czxN60GJqUaH5vJBPxl24ockxJAzl4Q5znkMLxOPl8UjYV SRYghtroDynmdEKzrZnCm3/JI7OVcacIfDQkRWUqZ/SxZBoPkwen0gkW+wHu4jDM3rqm x8E14o3M+1dhcRlhcQzEp+LJWqnmRbBu8iCmlpA8Rt9ANTjbNY4Hfee5v1Syk4eT8u4Z 3FGf4l3699jt5Bx3Y05EB1XEEmjTXyDyZ8pd7WVl4Hhm1vwfJO1vXg2M4gyueFc4+KSI wPtaAWQ/8gkDyKWIP0rvssNTfbDQshlSatEpcXbCn4yCOVhmFFneypT3Bt6qPfs8PO5j /ZSg== 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:mime-version :message-id:date:dkim-signature; bh=y0VpLWlLrgreaXGyU2aGKFidKfIZR/ank1/JutXFGq8=; b=O34WYDwtiGwuzDdm9WvNizLpNA0Kx/EIWTQLKewy3Y+lCtNzZfHnNFXB7JGrjy3T6h d/C7GFYx4c+XxpB4C8lATCSonNxJ67Y1Qf/gDQ1ecajwxWtjsnF8rx/+BFbTac+PtK4Z YqMH8lUUEaw1k2SM8/ij1MotVCg+c5FvSclCh8j8O3pW2GWV/vzFoemPvjDwmWjoMI+H QBudVx+yc7hyKjJoBaXjo/0L+sRccxWg6gXTbPPi80YWoWjiSEAn33FrUMhjsEsbEPsu aHRA3m9IieWZTpAEr3aDlpRV7AfDZjE6EB/G7Qdc63kA1Ufk+XWf/xCwNOC+JbhIq/va eU1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="hrlR0/0d"; 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 8si3172667ota.266.2020.02.14.11.05.15; Fri, 14 Feb 2020 11:05:27 -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="hrlR0/0d"; 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 S2387605AbgBNTFH (ORCPT + 99 others); Fri, 14 Feb 2020 14:05:07 -0500 Received: from mail-vk1-f201.google.com ([209.85.221.201]:50764 "EHLO mail-vk1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387398AbgBNTFH (ORCPT ); Fri, 14 Feb 2020 14:05:07 -0500 Received: by mail-vk1-f201.google.com with SMTP id s205so3665684vka.17 for ; Fri, 14 Feb 2020 11:05:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=y0VpLWlLrgreaXGyU2aGKFidKfIZR/ank1/JutXFGq8=; b=hrlR0/0dpvdOoBg0Yt905t4bbTcTQcq9xQg69mS1xQjaH4No60jXbZDPHUNxlglEEG RdNAxcITspFUQEUn7Og+ITmYWEt/usvYEHfMC9uK5O9ngbQlqZn6SWPiBoecvpUdXGPf ljdhJMiyaEbg2iYFgnKFg6s6s94X3bI19vYbHrZ7HZkrlDm18emzmA3SpyH8Cx81Jedh NFEd9F6njHSLnc8X+QW6ONcyrjhzTSBockhoXhJuDV3ogm/H2RuPwUS7t4WQj5BW7YmS Qx4pfDPXqzqWVbWqQBhLMYjBXaAzQZ5Wu1ONaGj68kVxnItNWSfdVVQYSOWusAnpO6v8 CeiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=y0VpLWlLrgreaXGyU2aGKFidKfIZR/ank1/JutXFGq8=; b=eP7YgyW7FyYxAYLc8Qho0fHBE5cvXkhxwFB/nk7KaQS/sthFYmyIbXlQYprMIAmloK 2e2khaOhqNOz6rUWFR2uIjySSSngb9nS1NBiOW88Dol/oqFX/hrugpmluY0hDWYpvCr6 orxMbLwB4B7i6C4vDqEvhLUsFTOHHTSJzlvQ14zaypP5rCYFdBJigKmKZxjaJqaQanEL 0NH9xxWcS7AcoV9k9cKqu0JTKbdv0v3PSFDdjSuXwAM1/cO9iYeGOo0lWGXiP8pI+6TI 6DGBLXrWJ5IfYMLPKUiIeInYhyaEwNqnLpsAdhKnzcNVm1SdCDFmbGgXD3WsqUtAyq1V xKyA== X-Gm-Message-State: APjAAAVLUXQ648toMJfFwzmecgscV5COO3Ffn4eK4TsUeM1s95rKmRoH KvsBFZKdlCxw1R/lB2UPrQRSPV5maw== X-Received: by 2002:a67:80d3:: with SMTP id b202mr2286028vsd.142.1581707106155; Fri, 14 Feb 2020 11:05:06 -0800 (PST) Date: Fri, 14 Feb 2020 20:05:00 +0100 Message-Id: <20200214190500.126066-1-elver@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.25.0.265.gbab2e86ba0-goog Subject: [PATCH] kcsan, trace: Make KCSAN compatible with tracing From: Marco Elver To: elver@google.com Cc: paulmck@kernel.org, andreyknvl@google.com, glider@google.com, dvyukov@google.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, rostedt@goodmis.org, mingo@redhat.com, Qian Cai 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 Previously the system would lock up if ftrace was enabled together with KCSAN. This is due to recursion on reporting if the tracer code is instrumented with KCSAN. To avoid this for all types of tracing, disable KCSAN instrumentation for all of kernel/trace. Signed-off-by: Marco Elver Reported-by: Qian Cai Cc: Paul E. McKenney Cc: Steven Rostedt --- kernel/kcsan/Makefile | 2 ++ kernel/trace/Makefile | 3 +++ 2 files changed, 5 insertions(+) diff --git a/kernel/kcsan/Makefile b/kernel/kcsan/Makefile index df6b7799e4927..d4999b38d1be5 100644 --- a/kernel/kcsan/Makefile +++ b/kernel/kcsan/Makefile @@ -4,6 +4,8 @@ KCOV_INSTRUMENT := n UBSAN_SANITIZE := n CFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE) +CFLAGS_REMOVE_debugfs.o = $(CC_FLAGS_FTRACE) +CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE) CFLAGS_core.o := $(call cc-option,-fno-conserve-stack,) \ $(call cc-option,-fno-stack-protector,) diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile index f9dcd19165fa2..6b601d88bf71e 100644 --- a/kernel/trace/Makefile +++ b/kernel/trace/Makefile @@ -6,6 +6,9 @@ ifdef CONFIG_FUNCTION_TRACER ORIG_CFLAGS := $(KBUILD_CFLAGS) KBUILD_CFLAGS = $(subst $(CC_FLAGS_FTRACE),,$(ORIG_CFLAGS)) +# Avoid recursion due to instrumentation. +KCSAN_SANITIZE := n + ifdef CONFIG_FTRACE_SELFTEST # selftest needs instrumentation CFLAGS_trace_selftest_dynamic.o = $(CC_FLAGS_FTRACE) -- 2.25.0.265.gbab2e86ba0-goog