Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2826118pxb; Mon, 19 Apr 2021 15:15:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcBPajELfjEFg44ldENrkntotgPztoYMlZMYYJTfn0I1vEgjiYPAwBcebN87mMQ9EYKRDI X-Received: by 2002:a63:b04:: with SMTP id 4mr13644043pgl.291.1618870526958; Mon, 19 Apr 2021 15:15:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618870526; cv=none; d=google.com; s=arc-20160816; b=itw5tgbhAtrF/8jmBWhG8FfO37FahI5KAtZZhP+szCEWX0W50DhZMae3snKs3Sfinj 4sb4oEMIfHXsRAOkLHqPuR1DvaOdzCfVHxH0tC43ZrDuXI/ovKcEjMe+ORxHPYkpB1S6 TeaX5D1b43jb85ECYAxYva6UCsO9OMVgpXmmHOp0t7oap5NAIB7WMyhZgyvoCB0rNxBo VcpymvyGU86m14N8CqSag8eBI8eNaukIDZh7Z5Sa4QeruhLsGzlgBhE+JGbz0NUI4cYW FRS/761HNbkmdhLrFOsiJxLkKqO4K3M7uisuDdc6SKz10xrgMUnHX37P00w70pNjh4Jy sIMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=I0+8YPNJAGwUeNW5Qk8yoNar70YQ84MEJOGRweLfSe0=; b=RxtWeBYjzIdkgTnDlCxGih46HTp1y06TIrKjJ02J30Q1a9R5fbNTccr7jJ7BZqBUuQ dpzcFu02Arg7H4Iyg9mFULFn0dN0NZ5sGPboS4cv49gnv/knONx7OhUYALflBPLnNlo9 XbAmzjcQXUrs1IH88pDGTWrL7VPk2jDPoCNhIhTPqje0HsUWFuMLI/ru2K3dpJ6uwdeW rw8RALPdF1KRNV+n1L8peittOncXjiTQG5bFr/z+NnGcR+OXY7fE5dj+Ueh2cWAZplzA wuTGVP4r8+TEHdMkL0KWneZAaKX3od1DISlR+Wn5p8R5Y3yHAzsbbsgPSoQGPnt6M1aQ 7KNA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y3si829016pjv.118.2021.04.19.15.15.15; Mon, 19 Apr 2021 15:15:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240903AbhDSSXD (ORCPT + 99 others); Mon, 19 Apr 2021 14:23:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:47574 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240833AbhDSSXB (ORCPT ); Mon, 19 Apr 2021 14:23:01 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CFC0960E0C; Mon, 19 Apr 2021 18:22:30 +0000 (UTC) Date: Mon, 19 Apr 2021 14:22:29 -0400 From: Steven Rostedt To: Jon Hunter Cc: Masami Hiramatsu , LKML , Ingo Molnar , linux-tegra Subject: Re: [PATCH v3 1/3] tracing: Show real address for trace event arguments Message-ID: <20210419142229.3ff31384@gandalf.local.home> In-Reply-To: <9835d9f1-8d3a-3440-c53f-516c2606ad07@nvidia.com> References: <160277369795.29307.6792451054602907237.stgit@devnote2> <160277370703.29307.5134475491761971203.stgit@devnote2> <9835d9f1-8d3a-3440-c53f-516c2606ad07@nvidia.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 19 Apr 2021 14:08:14 +0100 Jon Hunter wrote: > I have encountered the following crash on a couple of our ARM64 Jetson > platforms and bisect is pointing to this change. The crash I am seeing > is on boot when I am directing the trace prints to the console by adding > 'tp_printk trace_event="cpu_frequency,cpu_frequency_limits"' to the > kernel command line and enabling CONFIG_BOOTTIME_TRACING. Reverting this > change does fix the problem. Let me know if you have any thoughts. Thanks for the report. I was able to reproduce this on x86 as well. It's the tp_printk that's the problem. Does this fix it for you? -- Steve diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 66a4ad93b5e9..f1ce4be7a499 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3580,7 +3580,11 @@ static char *trace_iter_expand_format(struct trace_iterator *iter) { char *tmp; - if (iter->fmt == static_fmt_buf) + /* + * iter->tr is NULL when used with tp_printk, which makes + * this get called where it is not safe to call krealloc(). + */ + if (!iter->tr || iter->fmt == static_fmt_buf) return NULL; tmp = krealloc(iter->fmt, iter->fmt_size + STATIC_FMT_BUF_SIZE, @@ -3799,7 +3803,7 @@ const char *trace_event_format(struct trace_iterator *iter, const char *fmt) if (WARN_ON_ONCE(!fmt)) return fmt; - if (iter->tr->trace_flags & TRACE_ITER_HASH_PTR) + if (!iter->tr || iter->tr->trace_flags & TRACE_ITER_HASH_PTR) return fmt; p = fmt; @@ -9931,7 +9935,7 @@ void __init early_trace_init(void) { if (tracepoint_printk) { tracepoint_print_iter = - kmalloc(sizeof(*tracepoint_print_iter), GFP_KERNEL); + kzalloc(sizeof(*tracepoint_print_iter), GFP_KERNEL); if (MEM_FAIL(!tracepoint_print_iter, "Failed to allocate trace iterator\n")) tracepoint_printk = 0;