Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2219877ybv; Fri, 14 Feb 2020 14:00:13 -0800 (PST) X-Google-Smtp-Source: APXvYqwWjr+tU1g+d9Aej3sDa8ienAqplZZ8vNZdrtcIR3I1XXmqIHum7JQejP6vGaTzVAUUWRxK X-Received: by 2002:aca:d544:: with SMTP id m65mr3345628oig.177.1581717613706; Fri, 14 Feb 2020 14:00:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581717613; cv=none; d=google.com; s=arc-20160816; b=zA9VJ23LD8nXiVgp9yvMjWQBtuhsXf8ZcQXz74qXbEcZB6Mp1Z/1a8eadFhA5mfhue ffbpdZKHlmkLuT6E3anXrIwOLqgkSbtDokGmiruYHx1/v7nQ3HCxySHDDF3dhxqvPI/f KMPyjaGKG4CgxzNltGVXkxqESpbfusKy8pu0APsGxXSiuQTRcLx0kuNU8HOLM2u4k7zL 9rfTYwgj4emvLLea6jJ651jANedl2J8AJ9bmUxt5j8QpUiN5K+k+xJjDOPsV/f37/X+1 jY3BTT8NWxPhodYbigxL15CQSI31xTcynNSZ1qoPRm5QMd5Es5wsg+32VXL83E27We1c hOMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=FKtuIXcYzsOMF6YWjfEnFlloh3WEO2jbYZIpGax7YKs=; b=RYRg2W7whVt82lZH798+fadKNz+oYHbltr2ZBGx9v2FabZtosswvvtk74BTzVUJ3WD FuVV1Q5nWj5eqBKRTZ4Gnq+kBAQuShxTxqZAwmrhBe6ZpnY6gLMPHnNctKwRnu+lR4s7 lsYVX3onPWW1aQBhW8mYAKMD+/zqEoGbtdrJd4bgjMh4Mp6LoPcVJfWDxXZI+Leto6IK tO8sbvKnSPnUBDkdAl7mMprXoNOhhdNiz9TxHus0cdYrzVvL2pX4srnCkZo7QBfI7I2F WzbgBvLA02Kn+Fn2C2jifJKwfhDnmiLECOEBpB0tSeC2oCiZu6OHmgJQVirH8BZhHncI pAww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=oZz2i5Nb; 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 s64si3290893oig.147.2020.02.14.14.00.01; Fri, 14 Feb 2020 14:00:13 -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=oZz2i5Nb; 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 S1730506AbgBNV7v (ORCPT + 99 others); Fri, 14 Feb 2020 16:59:51 -0500 Received: from mail-ot1-f68.google.com ([209.85.210.68]:43969 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728911AbgBNV7v (ORCPT ); Fri, 14 Feb 2020 16:59:51 -0500 Received: by mail-ot1-f68.google.com with SMTP id p8so10554861oth.10 for ; Fri, 14 Feb 2020 13:59:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FKtuIXcYzsOMF6YWjfEnFlloh3WEO2jbYZIpGax7YKs=; b=oZz2i5NbdXHyXaqTu1uPe7G1OmqqhsiHVfcy2ZorvBYpIfGS8Zz2qSjFois+kLg+TC 8dZscje1xU50nclFH3hKED+N6ng04PKp28jpFym9Fhq7c1ZgaR03SKvvj4NClrCRd/Ys kuNIbpnSSy/L3eKstCRpZxk1SYU7H0L7gzKTE2mxmappPPM8/KAdgk64odYrlQ+VYe5N 2iZlSaSDJNz6LdbZmjaaervXra9rMPY/gA9++dtIqLqTOiqALJPuzRoBPI6vb2ki+sbW Djp3Mh8U/OdmaK8DSPDj+XLg1GGKOlLx2SZyApr95RX5AoITCPoxR0YIqqRFuJA4Jy9f p1TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FKtuIXcYzsOMF6YWjfEnFlloh3WEO2jbYZIpGax7YKs=; b=RW7iduQdt0E2mmmFFAbFtOqobMUkvWGHw68AnNbYyy3xPbY1hyUeUqVWRoNJli0CBS 5at2IqaWjvOavaW1sq8LlXX7keSoqW+EcaqYaWZMXCjFS/9LM0VLzTLlQ3itpSnCJEpr Wke8vIBQ63N8ZTe7xqBDwYXLNJkqnJgtnWf009o7YRdWNSgGyfZi6r3Iv6pVSaKU4v68 72WbK8dts0zbAQVi8v4o9Eo6Zrz4CJSj6EUiktGE/ZRNlpffZ3TTbsHwqXT+qA5Hc6SR LFplM15jLHjXLC/SnnbXo1uatfP6sdn7j2wXmzJGyLsy0Z7uEGZsXZUp4wVqRjSrEdkw IzHA== X-Gm-Message-State: APjAAAU6RGsJEP5uNhw7RrZ2Nvrm7aqoNxbjpf9fIA1OBEFl4JLQ+ni2 qSx5k9DR82oxkKZTc2qV9d4FqEoH8pycWcQkaUBeSw== X-Received: by 2002:a05:6830:1d7b:: with SMTP id l27mr3702226oti.251.1581717590307; Fri, 14 Feb 2020 13:59:50 -0800 (PST) MIME-Version: 1.0 References: <20200214190500.126066-1-elver@google.com> <1581708956.7365.75.camel@lca.pw> In-Reply-To: <1581708956.7365.75.camel@lca.pw> From: Marco Elver Date: Fri, 14 Feb 2020 22:59:39 +0100 Message-ID: Subject: Re: [PATCH] kcsan, trace: Make KCSAN compatible with tracing To: Qian Cai Cc: "Paul E. McKenney" , Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , kasan-dev , LKML , Steven Rostedt , Ingo Molnar 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 On Fri, 14 Feb 2020 at 20:35, Qian Cai wrote: > > On Fri, 2020-02-14 at 20:05 +0100, Marco Elver wrote: > > 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. > > I remembered that KCSAN + ftrace was working last week, but I probably had a bad > memory. Anyway, this patch works fine. Feel free to add, > > Tested-by: Qian Cai Based your further feedback I've sent v2: http://lkml.kernel.org/r/20200214211035.209972-1-elver@google.com Thanks, -- Marco > > > > 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)