From patchwork Wed Dec 13 15:42:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 178126 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp7864609dys; Wed, 13 Dec 2023 07:41:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IFKst5ArLujACPuRw6IeEvS9QvyVkTlVZNFMBYoEHdc5oIpk8bGtePgQX9AehEG47i+J8dE X-Received: by 2002:a05:6358:9da0:b0:170:6feb:d466 with SMTP id d32-20020a0563589da000b001706febd466mr4509196rwo.64.1702482101217; Wed, 13 Dec 2023 07:41:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702482101; cv=none; d=google.com; s=arc-20160816; b=xL8B61oWNe8AqhcC2arJUZpddeBbvxym6byvzxeeOa7nZG/QX8o89xk9WrUfXce54h WFmuZf+koueGyMXfDanhjXdvMqZKAbnhhMx117LaJlPbSTpjN42oy+LtdbX2XepXgvsM jWWHVpCJ7QeK88YzaDecdsu1guzu7znuJgK7HHh054m8o/VAqVwydM0a8KP0fq4v/VeM WZ+Xef3i/Q7gIDdrc4ylTAoCjr6fxJ3r94YkTSFOEOATqpuquPkLMVE677xub/e7JaDu jnGFucY6vCo/NRqJ3WXAQ30y30kF68ZUGMxRe/orp5pLNQMpA6k0pp8ZG/+GSjspzo0q 9qiA== 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 :message-id:subject:cc:to:from:date; bh=C4t5bcYNNGr0rNDighoz+flaN28wm/+b6CIsFmcDBYU=; fh=R8JZsVKDlS7lXIAvTNV55bsjlDBI0i4sqiOYXO4tZQA=; b=P+9JyDITMRZCAB6QNsakDM0JfBP76NoSn2U7YfvZRXn3c9k3XRzsrkVJwB3hTfOexg ChCEx7Iaw1e25ZppaglPtwOXDYAsdS7qapCH2FJRq53jIcmNmF97YvoHIrkdwGDT6Nxm ROqVqrwFa+dmnjtXtpa9R2YfUxL7w1Te/z+/uFvxKT+L6vw+3GzZ9ydTNJzd4YjXOxbv NVZ+sIFtFRexW6qJw6hFAJPHACXcM/kgwpaCj5br1ysFpuxielOrczqvT9pweRPjVnqp /gqVOf/vVIG7ECaYP9m7SKVa+BJ/c+ud6kjjlzANyfAqwW4p7k6ay2JlUscJwDs6Oi4A 2J3A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id w16-20020a056a0014d000b006b4231ba465si9740428pfu.85.2023.12.13.07.41.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 07:41:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 9A60180859BF; Wed, 13 Dec 2023 07:41:38 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442399AbjLMPla (ORCPT + 99 others); Wed, 13 Dec 2023 10:41:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1442177AbjLMPl3 (ORCPT ); Wed, 13 Dec 2023 10:41:29 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7226BBD for ; Wed, 13 Dec 2023 07:41:35 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7B580C433C8; Wed, 13 Dec 2023 15:41:34 +0000 (UTC) Date: Wed, 13 Dec 2023 10:42:18 -0500 From: Steven Rostedt To: LKML , Linux Trace Kernel Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers Subject: [PATCH v2] tracing: Increase size of trace_marker_raw to max ring buffer entry Message-ID: <20231213104218.2efc70c1@gandalf.local.home> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Wed, 13 Dec 2023 07:41:38 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785181871327495746 X-GMAIL-MSGID: 1785181871327495746 From: "Steven Rostedt (Google)" There's no reason to give an arbitrary limit to the size of a raw trace marker. Just let it be as big as the size that is allowed by the ring buffer itself. And there's also no reason to artificially break up the write to TRACE_BUF_SIZE, as that's not even used. Reviewed-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- Changes since v1: https://lore.kernel.org/linux-trace-kernel/20231209175716.09ac455b@gandalf.local.home - Moved "if (size > ring_buffer_max_event_size(buffer))" to after "buffer" is assigned, otherwise it creates an uninitialized warning error. (kernel test robot) kernel/trace/trace.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index e07baf388ab3..95d02804d3ae 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -7359,9 +7359,6 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, return written; } -/* Limit it for now to 3K (including tag) */ -#define RAW_DATA_MAX_SIZE (1024*3) - static ssize_t tracing_mark_raw_write(struct file *filp, const char __user *ubuf, size_t cnt, loff_t *fpos) @@ -7383,19 +7380,18 @@ tracing_mark_raw_write(struct file *filp, const char __user *ubuf, return -EINVAL; /* The marker must at least have a tag id */ - if (cnt < sizeof(unsigned int) || cnt > RAW_DATA_MAX_SIZE) + if (cnt < sizeof(unsigned int)) return -EINVAL; - if (cnt > TRACE_BUF_SIZE) - cnt = TRACE_BUF_SIZE; - - BUILD_BUG_ON(TRACE_BUF_SIZE >= PAGE_SIZE); - size = sizeof(*entry) + cnt; if (cnt < FAULT_SIZE_ID) size += FAULT_SIZE_ID - cnt; buffer = tr->array_buffer.buffer; + + if (size > ring_buffer_max_event_size(buffer)) + return -EINVAL; + event = __trace_buffer_lock_reserve(buffer, TRACE_RAW_DATA, size, tracing_gen_ctx()); if (!event)