From nobody Sat Jul 25 03:20:12 2026 Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3DAF672623 for ; Mon, 20 Jul 2026 02:20:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784514064; cv=none; b=tkPPLaIccqbro6nBFHQ1aCieQHxHSG8XJYF8mTjl06c5wbzHhxWo4VF+JjUyiTlvAUw0PJHKIuhlfRaBlscJ1PRbLcHldOUF1m9bbkw5JpcBe+p4qLaYxhaBZIIZflDZ09ezBS9FcFzzZeL3qHZeYAe2cZQtgkbWzDgdjJJqJBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784514064; c=relaxed/simple; bh=5EFCLUguu7TPvnrqzX49BId05BA/WYQxUPmelAe0qU4=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=TPQzq0SoGK08e/RyKj3X5xoFugn0qcLR4Vdw6zMSSt3uhPHgo7LveGorUB+1hAswyDU3GjfjtIndElspUGNQ1fiuTn3s6o/dVn5rD/BHwJZ5BPQ6XgfNOBXgSQrV4qQzKuXOPsJkLCzTWhgS8sStzKbp3A2o6HkwrL3bj62pmCk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com; spf=pass smtp.mailfrom=uniontech.com; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b=ToxhVma+; arc=none smtp.client-ip=54.254.200.92 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=uniontech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b="ToxhVma+" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uniontech.com; s=onoh2408; t=1784513968; bh=FzSyefZBdWz21D7smw2UotnDXfr792MR7jwj4+8Nwfc=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=ToxhVma+QcOrKhIlgVCHFw/guEXd+fgI1a5X0bsPH4A9hl0h43dVzWwjlGwQfG6XH fvwwm9d/D1qCkA3ZqJwgPl7LXlXlt4dCy2GrwZXINTt6vhNHvsc12X1/510xEM86rg OpJcSS3o3eRsx7Lwrja7ruD2AaEg7E4SjevN/hd4= X-QQ-mid: esmtpgz10t1784513944t75e62dba X-QQ-Originating-IP: GN7JFQV9yrGdoYbSaIEJwawim7Nb4sbCkMWJto4qlcU= Received: from uniontech.com ( [113.57.152.160]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 20 Jul 2026 10:19:02 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 1 X-BIZMAIL-ID: 4858750843730928359 EX-QQ-RecipientCnt: 8 From: Yichong Chen To: Muchun Song , Oscar Salvador Cc: David Hildenbrand , Andrew Morton , Mike Kravetz , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yichong Chen Subject: [PATCH] hugetlbfs: release subpool on fill_super failure Date: Mon, 20 Jul 2026 10:18:59 +0800 Message-Id: <20260720021900.1376309-1-chenyichong@uniontech.com> X-Mailer: git-send-email 2.20.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-QQ-SENDSIZE: 520 Feedback-ID: esmtpgz:uniontech.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: OHgofOj2wgpBvrznB2Au4n3j0A5xBRbOuyomQ5dQsrslY1rUO/aSs4Mx 5BTi0elUyr2OE7NOJfd5z9KUpQwT+3dnvNMi2Lp/TUqViyUO7aHiDp/ZmIjeyC67/3jXmeT R28lKQfMQ3mviZow+1uC2ja60sc0+bDHhl/lm0zPGqV0K0P9inSTKtnFmNqbziyAdAhtdK3 h++tBmJ+HaXVQehvoFef52vVaHdc0sVrgZemCEm3SSbIpsEOeXX+jpruYY9POBookcirpUz KsmQmLQinkgOIhukCyEetYhoEDVIu2MD4+3yRIvK3+7thvx5dkVxXLinPAjwtLXXqJe2fUq QUE64ckbwqkHUN/TQ0r9YHgCcJYtDM9FDyPfK+sLAliFZoJn4vmnTZ+IToUxaHaWeTYSBc6 7Vy/KugaFzKyDanAh4dsj2DkaFNR6g1+duC3CSVQffCscwXNWkrWV8jM66yaxdjROsSWvBG Y9c42paQObQ0ZL4W9Z7ThWveEsvAJa6eBbUJa1h/pMopKjIUAroqNRW8g1oIyqCtIofDzLo NWkYErCcPvgt+EEAs5KzWENSEZMD1oihbMPlCQDhrcBxxFbnUEBe/r6eYUMAspQfj4ORa6u HYcIidDqVIx5+Yv2BTLX4yZ4PlzQ5amRtXBXis9NVJ/shXyiLe8Jl5vDnql9TTekGZQV7yu bhJnDjBhmOGESfSUNanI2+Z4m3gleg0VJrX0EMq0+zL0M9pCprv0OyEfT5FqGSBb5v8gddj EZSQHl+VH50i+vRMZrEnZLGskgQajaP3yOIDBIV0iW+gMDrOW3rDLfUYFHiM5yRcTsEYPnt M8Hi7W1H/IvaKdbjQNWyqCDF0/AASZr2hrfQXg0qFvvrsxOuu8eYXdyAAthprmWLkwi5XeY nuavEZIzuCM6kmViw/6bcO2AVuIQZp0LFH11vRT755Xpt2E2qktpjen2E9afRRztTuD5gOc SqygGX3r6WfEmpEFNXX2xKRMrBQTtZ8UfVnOeTnexGrXI401kqp4KYgOb9q4M2davCKZID4 T9FX+akf8/ciD3sE2pNfDOdVtEGKG9a/Yn6Y4lUYZHH5iSZtmk X-QQ-XMRINFO: OWPUhxQsoeAVwkVaQIEGSKwwgKCxK/fD5g== X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" hugetlbfs_fill_super() allocates a hugepage subpool when size or min_size mount options are specified. hugepage_new_subpool() may also reserve huge pages for min_size. If root dentry creation fails after the subpool is created, the failure path frees the subpool with kfree(). This bypasses hugepage_put_subpool() and can leave min_size reservations charged. Use hugepage_put_subpool() on the failure path, matching the normal put_super path. Fixes: 7ca02d0ae586 ("hugetlbfs: accept subpool min_size mount option and s= etup accordingly") Signed-off-by: Yichong Chen --- fs/hugetlbfs/inode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 216e1a0dd0b2..6a1d7e778cb0 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -1419,7 +1419,8 @@ hugetlbfs_fill_super(struct super_block *sb, struct f= s_context *fc) goto out_free; return 0; out_free: - kfree(sbinfo->spool); + if (sbinfo->spool) + hugepage_put_subpool(sbinfo->spool); kfree(sbinfo); return -ENOMEM; } --=20 2.51.0