From nobody Sat Apr 18 09:24:20 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 2FA75C433EF for ; Fri, 15 Jul 2022 07:54:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232552AbiGOHyg (ORCPT ); Fri, 15 Jul 2022 03:54:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232471AbiGOHyf (ORCPT ); Fri, 15 Jul 2022 03:54:35 -0400 Received: from mail-m973.mail.163.com (mail-m973.mail.163.com [123.126.97.3]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 37AE67D790; Fri, 15 Jul 2022 00:54:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=cwrZm NCSRjuzMIQT+tURFfwkYdiptMDdrXd4mko6Rok=; b=octZNLD/Y5JcfldsSN7+r bB85h1HyoFhWu5Z5oVLR/al1WrplJuDFxNxvpZQ3/GczPt5QYiHwsQc4UM60gdtC bgyk3Ib25/VbJ+QcR6q3PGITEDbHf6Tv61nWDV2lCU/Kt1J5Sc86ie0Xaj2q/N8V 3wqN79/iKNKV84Wzc5IyaE= Received: from localhost.localdomain (unknown [123.58.221.99]) by smtp3 (Coremail) with SMTP id G9xpCgAn2x4JHdFiDeT0PA--.706S2; Fri, 15 Jul 2022 15:53:48 +0800 (CST) From: williamsukatube@163.com To: miklos@szeredi.hu, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Cc: William Dean , Hacash Robot Subject: [PATCH] fuse: Fix a potential memory leak for kstrdup() Date: Fri, 15 Jul 2022 15:53:43 +0800 Message-Id: <20220715075343.2730026-1-williamsukatube@163.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: G9xpCgAn2x4JHdFiDeT0PA--.706S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrKry7ZrWDCFy5Kr48JFWDArb_yoWDGwb_Cr 4fGF18uFs0vrW8Xw4DCws5tFyIgw1rGrn3Wr4xKFnxJrWjyF4avr9avr95ur4Sgr48WFZ8 Grn8JFyfAw42qjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU5Wc_DUUUUU== X-Originating-IP: [123.58.221.99] X-CM-SenderInfo: xzlozx5dpv3yxdwxuvi6rwjhhfrp/xtbBSQw-g1aEEKSO1wAAsG Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: William Dean kfree() is missing on an error path to free the memory allocated by kstrdup(): sb->s_subtype =3D kstrdup(parent_sb->s_subtype, GFP_KERNEL); So it is better to free it via kfree(sb->s_subtype). Fixes: 1866d779d5d2a ("fuse: Allow fuse_fill_super_common() for submounts") Reported-by: Hacash Robot Signed-off-by: William Dean --- fs/fuse/inode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 8c0665c5dff8..2d10afad07f8 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -1449,8 +1449,10 @@ static int fuse_fill_super_submount(struct super_blo= ck *sb, get_fuse_inode(root)->nlookup--; sb->s_d_op =3D &fuse_dentry_operations; sb->s_root =3D d_make_root(root); - if (!sb->s_root) + if (!sb->s_root) { + kfree(sb->s_subtype); return -ENOMEM; + } =20 return 0; } --=20 2.25.1