From patchwork Sun Nov 20 20:07:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 23449 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1250557wrr; Sun, 20 Nov 2022 12:09:07 -0800 (PST) X-Google-Smtp-Source: AA0mqf43Dkeiq4ZbWboTvl6i/NDt3b2Dqg9+SuP/wVHOMwYrzG9XIPUaMitkLycHitq5PP2GHgs1 X-Received: by 2002:a17:90a:1bc2:b0:218:8bdb:de3f with SMTP id r2-20020a17090a1bc200b002188bdbde3fmr10927591pjr.225.1668974947013; Sun, 20 Nov 2022 12:09:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668974947; cv=none; d=google.com; s=arc-20160816; b=LOtR75HgG5z2L3R3cpr5N31DNfKOYEIQIkzbokMqz6jfRA5bWsI0BD30SaKHd5wZpk 75TdfdWiKcRTk3/9yzk1fzbTnfCHOapNsiUu8KAWjD4eHU7ODiUN8TTgwGcZ3sL8IpoX saSXIBOZqYrt3hJEDdM/mEeE3kJDcVREeGINONplv6Atz/YHNuCvSvQaFRrbnqn2tFEk O4GsVZt705eud85HdIWZrDhWAM8wj/mkcLFEv+ZHMsmISnk6QaPP7U0VRGywlIbSKxC2 9A9X5NkOADQdcM6bfledwF4IyPo2W/2hN0sFA3Esii0k1GWdKqTyjw9DSUiNRWj4g6ID 31pA== 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=NYHv9srPiTyGLM3hVDpgpBdqu0ijGFWA5QwV7F5A2xI=; b=sXwFzZVMGG/AFXqF/pzi/ACYS6CWq4UWCmYIt4EoTbKzLO8r5GLW6C5JeCJFoGgzde xJxh9H5UN2GLuIKDCOPct35c0JzBMMj+QV9HtGHFOv61I3l1dvzI4nCuqj86R4KSP5qr cQAjpqk3DdytzC5nvZQkadIRXSweIB2n4mODmooS4F+Z/mRsOVZrrbhWbrA91kPU2JbQ 3G8TOPLKwCrshqW67aVpvchQcZyvnzvIZtisKBwChf+eHD1jtGi4/601DWLUZnJoK7Ml 0/AnZXLIIspQKS1DyuYVSVt3QEFf6LTn7cl7eTdorl3tsHWb94Qu0kp9zyNgTCGFFV7z BaPA== 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 o7-20020a63a807000000b00476f947575esi9421267pgf.329.2022.11.20.12.08.54; Sun, 20 Nov 2022 12:09:07 -0800 (PST) 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 S229868AbiKTUH5 (ORCPT + 99 others); Sun, 20 Nov 2022 15:07:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52658 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229677AbiKTUHj (ORCPT ); Sun, 20 Nov 2022 15:07:39 -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 DBC571CB1E; Sun, 20 Nov 2022 12:07:37 -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 166B6B80B7F; Sun, 20 Nov 2022 20:07:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BCDEDC43146; Sun, 20 Nov 2022 20:07:34 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1owqbF-00Di4l-2j; Sun, 20 Nov 2022 15:07:33 -0500 Message-ID: <20221120200733.670542882@goodmis.org> User-Agent: quilt/0.66 Date: Sun, 20 Nov 2022 15:07:03 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , stable@vger.kernel.org, Wang Yufen Subject: [for-linus][PATCH 03/13] tracing: Fix memory leak in tracing_read_pipe() References: <20221120200700.725968899@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham 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?1750047073868970838?= X-GMAIL-MSGID: =?utf-8?q?1750047073868970838?= From: Wang Yufen kmemleak reports this issue: unreferenced object 0xffff888105a18900 (size 128): comm "test_progs", pid 18933, jiffies 4336275356 (age 22801.766s) hex dump (first 32 bytes): 25 73 00 90 81 88 ff ff 26 05 00 00 42 01 58 04 %s......&...B.X. 03 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000560143a1>] __kmalloc_node_track_caller+0x4a/0x140 [<000000006af00822>] krealloc+0x8d/0xf0 [<00000000c309be6a>] trace_iter_expand_format+0x99/0x150 [<000000005a53bdb6>] trace_check_vprintf+0x1e0/0x11d0 [<0000000065629d9d>] trace_event_printf+0xb6/0xf0 [<000000009a690dc7>] trace_raw_output_bpf_trace_printk+0x89/0xc0 [<00000000d22db172>] print_trace_line+0x73c/0x1480 [<00000000cdba76ba>] tracing_read_pipe+0x45c/0x9f0 [<0000000015b58459>] vfs_read+0x17b/0x7c0 [<000000004aeee8ed>] ksys_read+0xed/0x1c0 [<0000000063d3d898>] do_syscall_64+0x3b/0x90 [<00000000a06dda7f>] entry_SYSCALL_64_after_hwframe+0x63/0xcd iter->fmt alloced in tracing_read_pipe() -> .. ->trace_iter_expand_format(), but not freed, to fix, add free in tracing_release_pipe() Link: https://lkml.kernel.org/r/1667819090-4643-1-git-send-email-wangyufen@huawei.com Cc: stable@vger.kernel.org Fixes: efbbdaa22bb7 ("tracing: Show real address for trace event arguments") Acked-by: Masami Hiramatsu (Google) Signed-off-by: Wang Yufen Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index c6c7a0af3ed2..5bd202d6d79a 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -6657,6 +6657,7 @@ static int tracing_release_pipe(struct inode *inode, struct file *file) mutex_unlock(&trace_types_lock); free_cpumask_var(iter->started); + kfree(iter->fmt); mutex_destroy(&iter->mutex); kfree(iter);