From nobody Tue Jun 30 04:49:39 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB578C433EF for ; Tue, 25 Jan 2022 15:47:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376556AbiAYPrP (ORCPT ); Tue, 25 Jan 2022 10:47:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55188 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351003AbiAYPoQ (ORCPT ); Tue, 25 Jan 2022 10:44:16 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AAF5DC061763 for ; Tue, 25 Jan 2022 07:44:12 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 55C6EB81818 for ; Tue, 25 Jan 2022 15:44:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6079FC340E5; Tue, 25 Jan 2022 15:44:09 +0000 (UTC) Date: Tue, 25 Jan 2022 10:44:08 -0500 From: Steven Rostedt To: LKML Cc: Ingo Molnar , Andrew Morton , Stephen Rothwell , Chuck Lever Subject: [PATCH] tracing: Update print fmt check to handle new __get_sockaddr() macro Message-ID: <20220125104408.7612fb0d@gandalf.local.home> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: "Steven Rostedt (Google)" A helper macro was added to make reading socket addresses easier in trace events. It pairs %pISpc with __get_sockaddr() that reads the socket address from the ring buffer into a human readable format. The boot up check that makes sure that trace events do not reference pointers to memory that can later be freed when the trace event is read, incorrectly flagged this as a delayed reference. Update the check to handle "__get_sockaddr" and not report an error on it. Link: https://lore.kernel.org/all/20220125160505.068dbb52@canb.auug.org.au/ Fixes: 9580b78ebd878 ("tracing: Introduce helpers to safely handle dynamic-= sized sockaddrs") Reported-by: Stephen Rothwell Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_events.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 3147614c1812..f527ae807e77 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -384,6 +384,12 @@ static void test_event_printk(struct trace_event_call = *call) if (!(dereference_flags & (1ULL << arg))) goto next_arg; =20 + /* Check for __get_sockaddr */; + if (str_has_prefix(fmt + i, "__get_sockaddr(")) { + dereference_flags &=3D ~(1ULL << arg); + goto next_arg; + } + /* Find the REC-> in the argument */ c =3D strchr(fmt + i, ','); r =3D strstr(fmt + i, "REC->"); --=20 2.33.0