From patchwork Wed Mar 29 19:45:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 76800 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp655545vqo; Wed, 29 Mar 2023 13:03:20 -0700 (PDT) X-Google-Smtp-Source: AKy350ZDq2mBOd695ha+WNicvT6CZNzrtv9UsAZgTE28PgoabDGE3OSbBUOqr89wahVtDNG5S0QF X-Received: by 2002:a17:90b:3847:b0:23d:77b3:907d with SMTP id nl7-20020a17090b384700b0023d77b3907dmr22108340pjb.22.1680120200428; Wed, 29 Mar 2023 13:03:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680120200; cv=none; d=google.com; s=arc-20160816; b=D8buyFtbqJJsUlvKdl7epR+SrQDT3ck/82lf3dK7XCU6bsafIv90+nIgl7u5dKuTaZ Hq0k4SHSvgi6nMtd6Hra2nGYLgJuq1TzKVaYsPLjlch8nH0VOld76ZaqTcVfJfNEFQmO hBg5gGTWC948VlCYmzXO4Zw7tORlgxCom2LUMB3Q3v1Yub1nv9CmpZKC4bGWAR1uVK0G UYIsOiYSdSi2PGFfOuzL712CJqa4sM2Lon9+Fsdprxmj0+FFDADplp+jYwo04UIoeXy6 COhzFzF2u9H6UKhkHgOY3HrSGb+xdynzxrO0XLUIGNcghO+Ezdak6qvJikjbEn4ss0et gDow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=YWWEff9DpAsaIw+0HODLJt9YrG5YC279hT4kPU1ZZPM=; b=FTTNsrsHxojkE+7XK5AFP0sEF1Sq2GQ+ISqPBNY7nnicfXEyWdioMUyE+SzOZsGDk7 o4Ot2A0GHGWEeL0EiT+zvWkSm9+frMYlqbdDyZ1YzlRMu5FUY2L6XJIzBiy47O7tDZWT L5WT4D+18H3TSxzv6ThYRcdcZ3ZD1EK82dAs2ASPKb7uUvYgpWZVmU+u4LEjLEGjljg6 hQgnaBVXuX6iI9h79PVIAcjaDJQvvzjkAON3qiwf2MgTLyfxPyFsGqStUhgAJ8DUOxRL NpIgEMysloiouRtGx6j9r6Ycae5dkyCl+XhUKhGYztnEtMwRZDR/j5/7TdmIOGPnSN2P 0V9g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e5-20020a17090301c500b0019e4154578esi34344257plh.76.2023.03.29.13.02.58; Wed, 29 Mar 2023 13:03:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230335AbjC2Tqy (ORCPT + 99 others); Wed, 29 Mar 2023 15:46:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230111AbjC2Tp6 (ORCPT ); Wed, 29 Mar 2023 15:45:58 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A4F8193 for ; Wed, 29 Mar 2023 12:45:55 -0700 (PDT) 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 dfw.source.kernel.org (Postfix) with ESMTPS id 24E4E61E28 for ; Wed, 29 Mar 2023 19:45:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0087EC433A1; Wed, 29 Mar 2023 19:45:55 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1phbk2-002Rrf-0N; Wed, 29 Mar 2023 15:45:54 -0400 Message-ID: <20230329194553.932013715@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 29 Mar 2023 15:45:40 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton , Beau Belgrave Subject: [for-next][PATCH 24/25] tracing/user_events: Use print_format_fields() for trace output References: <20230329194516.146147554@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761733719256019772?= X-GMAIL-MSGID: =?utf-8?q?1761733719256019772?= From: "Steven Rostedt (Google)" Currently, user events are shown using the "hex" output for "safety" reasons as one cannot trust user events behaving nicely. But the hex output is not the only utility for safe outputting of trace events. The print_event_fields() is just as safe and gives user readable output. Before: example-839 [001] ..... 43.222244: 00000000: b1 06 00 00 47 03 00 00 00 00 00 00 ....G....... example-839 [001] ..... 43.564433: 00000000: b1 06 00 00 47 03 00 00 01 00 00 00 ....G....... example-839 [001] ..... 43.763917: 00000000: b1 06 00 00 47 03 00 00 02 00 00 00 ....G....... example-839 [001] ..... 43.967929: 00000000: b1 06 00 00 47 03 00 00 03 00 00 00 ....G....... After: example-837 [006] ..... 55.739249: test: count=0x0 (0) example-837 [006] ..... 111.104784: test: count=0x1 (1) example-837 [006] ..... 111.268444: test: count=0x2 (2) example-837 [006] ..... 111.416533: test: count=0x3 (3) example-837 [006] ..... 111.542859: test: count=0x4 (4) Link: https://lore.kernel.org/linux-trace-kernel/20230328151413.4770b8d7@gandalf.local.home Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Beau Belgrave Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_events_user.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index 67cb7b53caf6..cc8c6d8b69b5 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c @@ -22,8 +22,9 @@ #include #include #include -#include "trace.h" #include "trace_dynevent.h" +#include "trace_output.h" +#include "trace.h" #define USER_EVENTS_PREFIX_LEN (sizeof(USER_EVENTS_PREFIX)-1) @@ -1198,11 +1199,7 @@ static enum print_line_t user_event_print_trace(struct trace_iterator *iter, int flags, struct trace_event *event) { - /* Unsafe to try to decode user provided print_fmt, use hex */ - trace_print_hex_dump_seq(&iter->seq, "", DUMP_PREFIX_OFFSET, 16, - 1, iter->ent, iter->ent_size, true); - - return trace_handle_return(&iter->seq); + return print_event_fields(iter, event); } static struct trace_event_functions user_event_funcs = {