From patchwork Sat Sep 30 20:32:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 146976 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp569192vqb; Sat, 30 Sep 2023 13:38:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG6YqQWZtQLhFSRN22p6whse18bkDRoil/u+WOUUMi0Q0yiJ+lox2zc/GtljYlmKlR88dgb X-Received: by 2002:a17:903:2344:b0:1c5:6dbc:7938 with SMTP id c4-20020a170903234400b001c56dbc7938mr7887679plh.69.1696106287874; Sat, 30 Sep 2023 13:38:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696106287; cv=none; d=google.com; s=arc-20160816; b=kluweUIshz+0KgTPDc+3DcmuMxbRXHb/0Bs1rTTrWT7h6sLOb4ekFDCg72BnRe5vYn UEI4ETgsHTT2PUK90dTOvLFHf0MM74C+ZpDYeiiUWgSDwgakaVh1vk4kG8XXY4fn4p0D cmIe4LVZ4FkIPxNYdwIDd491pk5RhJthze60tUuj5+scr7Uvo2QAQYzQV2RRiVwO+EJI gZ7aanJkrW8qF7T2mqJxYj2x7cVd6w+xmw4cQ+xLj/azBuAnj1h68kAR2VwNbAWqY+cA la2NsaVnjYPsRwSS23hzrB/MW5ibO/qThA24MQi0IzMcIjyODtOPdI11auD4TIzLkWH5 SWQg== 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=9dx9ob0UtuTq07HubdoYyEvBfvwiZEmoVdd0gkvkpM0=; fh=cY9HGbp9RiQ9xCYqjybSe1/cIiXVFs0Cn9z6ge1iyyY=; b=atvj7nI5P1BSvLZftwiPsdGtUEtdVCA/ZOv7ofMk5JnDoXGI67PNo/+HAvO9rK8uys uoMZ+NfvZQoTGZq9RsZuhUqh17Sjd/eAF3dPnbFojISRFewVQHn9aa4QSuKvStmp8ZAd QJKOKFVABI0I1zb6kkUgoA7XPPAv07UIeZDqpUnV4aCNJuJD6NPPxo0v2Nctbl4cv4C7 XQdFCPQDJxeLtJrGc7HFdXPmGZu1Elpi27Z1LD4kUJ4FfZV8hF2NztwUbEExzcuA3+Ad X6MatRQFnr99LPURK+TWn1rKpg0HgUOmTR6kkAuMb+L/6MApg+t7yrjCGAoPtZkg23q5 kb8w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id ky16-20020a170902f99000b001c5fea1bd8asi18035806plb.567.2023.09.30.13.38.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Sep 2023 13:38:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (Postfix) with ESMTP id 5A20C8243BD3; Sat, 30 Sep 2023 13:37:43 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232878AbjI3Uh3 (ORCPT + 20 others); Sat, 30 Sep 2023 16:37:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53156 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231779AbjI3UhZ (ORCPT ); Sat, 30 Sep 2023 16:37:25 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DFB8EB for ; Sat, 30 Sep 2023 13:37:23 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AC8DAC43391; Sat, 30 Sep 2023 20:37:22 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.96) (envelope-from ) id 1qmgjG-004N19-0l; Sat, 30 Sep 2023 16:38:22 -0400 Message-ID: <20230930203822.053304721@goodmis.org> User-Agent: quilt/0.66 Date: Sat, 30 Sep 2023 16:32:17 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton Subject: [for-linus][PATCH 4/4] eventfs: Test for dentries array allocated in eventfs_release() References: <20230930203213.826737400@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_MED,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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Sat, 30 Sep 2023 13:37:43 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778496347122407727 X-GMAIL-MSGID: 1778496347122407727 From: "Steven Rostedt (Google)" The dcache_dir_open_wrapper() could be called when a dynamic event is being deleted leaving a dentry with no children. In this case the dlist->dentries array will never be allocated. This needs to be checked for in eventfs_release(), otherwise it will trigger a NULL pointer dereference. Link: https://lore.kernel.org/linux-trace-kernel/20230930090106.1c3164e9@rorschach.local.home Cc: Mark Rutland Acked-by: Masami Hiramatsu (Google) Fixes: ef36b4f92868 ("eventfs: Remember what dentries were created on dir open") Signed-off-by: Steven Rostedt (Google) --- fs/tracefs/event_inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index 5f1714089884..8c8d64e76103 100644 --- a/fs/tracefs/event_inode.c +++ b/fs/tracefs/event_inode.c @@ -421,7 +421,7 @@ static int eventfs_release(struct inode *inode, struct file *file) if (WARN_ON_ONCE(!dlist)) return -EINVAL; - for (i = 0; dlist->dentries[i]; i++) { + for (i = 0; dlist->dentries && dlist->dentries[i]; i++) { dput(dlist->dentries[i]); }