From nobody Sat Jul 25 21:59:22 2026 Received: from xmbghk7.mail.qq.com (xmbghk7.mail.qq.com [43.163.128.47]) (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 3725937F8B3 for ; Mon, 13 Jul 2026 06:36:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=43.163.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783924604; cv=none; b=tL2MfC4ifep2ReQCgknnLxlnnLKldjYhULU9KW/yBuV0+LFMY0tM7Ej2oZnTxL58OvdXMUUVpdqnOh8T8Oe15WrEY7Qn5fdg/V81VnvXo62nRlVl/B2s2H1g3m9AYEaSQ/YZ07ltgrPH4KXtIOmUf7+6WvvPzAwBVXddIwDbr34= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783924604; c=relaxed/simple; bh=NYNPBEs3xMUQ6zQahGzQIA7SdVw6AaRI2RiXfIoMg7g=; h=Message-ID:From:To:Cc:Subject:Date:MIME-Version; b=Sq81QotuqdAfZYR+FtcJBdqHKApYjxyNC63H4M5ebtDK3Ap5VIsD4ZNzQ00iC/mKVjZeKK06Zzaj3q5ifW5xm9lQTCZCSFVITsp00KoYVvXHT3pWwrtrSECfiG3dDZiKzPxd6DJDy9P6SOULlFzK7SHoYsQZiJ3kQR4s9MyVRcg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=YOtHooNl; arc=none smtp.client-ip=43.163.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="YOtHooNl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1783924598; bh=FhjgdXDXmVyJ2wLNBzBuxeJXJ2lhdZEYDtlsodvCRCA=; h=From:To:Cc:Subject:Date; b=YOtHooNlWWtWCX1wTL/93kpK9V1u0pQVKVFcns1HRm9CytYNVSrkYdjkhJnrRKKLv CO+gvQyduzsNJ360vLG+lonJbkfxc3g8l+CxE4sUyKuHi5y+cAln4yX6J+wzrvTM/s ZsFbxIZMZMMmexse3bWbcjqKCHvllJYu4jqzENDI= Received: from ikun ([221.176.157.250]) by newxmesmtplogicsvrszb51-1.qq.com (NewEsmtp) with SMTP id 923052E0; Mon, 13 Jul 2026 14:36:35 +0800 X-QQ-mid: xmsmtpt1783924595tzzjr6jsm Message-ID: X-QQ-XMAILINFO: NAvK98dRmgdfiiCaRQOVQDshGjlGplufJSt526rpBFw65LInAVG8EMb5Ka3D2t GoiG2aTTv1jL/EkkpwDjujnW0TRDlFXq4Aha/P2SmP/UkbaukIWD0qyJjqnsr7Wo5UxXUud8oIMu 3kQKKjJ/byOPJlTiv8ifoomJ2k/rMhpA3zJAR+oVCdVXEb9H2deRoTkHHDETcFiO/pD/4akxiYMD INCRQdm87qM0+JfGxgZyG46cdU6zU8DoiKkRG8qnL1dKh1pJBbCTF4jL/8n4S3QtcYvMjLEVi67o ki7l2cUYWClek50bjk/YuKt7ynlRfJgoWLmoXXGjijP8UkYX37YZH2hJbhFXOqdn7sID3IUlBX96 NoPY5RS+FpNR2bFDg+6ZRaN3j5mOSt8LLXkySOMGYEtT3cNjR0OlGuL+IVP/nZNYRNk/LT0rTnuz q6qgBvDwN8Tghc2Sb+N0QkUCZ1II4eHz9wLmSr+Wlx/n00UE9wP1ZgN7uyPVoxY81G6MdvG+kNfo +DaOd/X2Otn/WLLqKsEL8aZFSPL7N/PVczmXSrSu9vUmZRYpK7CzGxasDmHeUNfptqDD7/L3HNZL bOqTXbqoS9mRWjTSWy5/MdI4sxOs5/NDZBWaVGwn3OcytjC/+oHhrkGSGnMBw76tKFmBOWEhCn2w MDFX6x/IN5Hp4MqM4L4zPIl0HPKQ9d553QZTuCuKGpy+qQsPKuXj98BkG825gTD8yxyyKhSF5y9j uCk/RwLQq06VOmjWRib7eKbJBjMQvMDiJknCSYFs2Mm8wRHnyetTpproZuxcwp/6d7MaWy75NjID iJloqu1MVKFJBlyOM5wmYySMIMiRaoa6R/KPzthsERnnie7kdYLK097zd6yeZmJm8ZfBWb9qVXTK fCJ2v0Y+Rp4P9odGdNnVerCchV2gc/UKXZ+pay0+AOwXMBaQqpu+mIW+o/0P73YLlSNwOLd37bNR U0PcUnW0ODHH/Yv9rbQtU1yt3Hakk708tS9YCpunoS/8OOX8ANvOw2giOv1XTSDSI99xsnt9xRp+ C7vbMjXgdSOWIWsPwnN1WkqDfpIc8T6iG4V3ir3BuxcxKWdVouZAiIkEONnbU= X-QQ-XMRINFO: NyFYKkN4Ny6FuXrnB5Ye7Aabb3ujjtK+gg== From: Guanghui Yang <3497809730@qq.com> To: Jaegeuk Kim Cc: Chao Yu , linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Guanghui Yang <3497809730@qq.com> Subject: [PATCH] f2fs: fix dentry folio leak in find_in_level Date: Mon, 13 Jul 2026 14:36:33 +0800 X-OQ-MSGID: <20260713063633.555-1-3497809730@qq.com> X-Mailer: git-send-email 2.52.0.windows.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 Content-Type: text/plain; charset="utf-8" find_in_level() gets a dentry folio with f2fs_find_data_folio() before calling find_in_block(). If find_in_block() returns an error, the function stores the error in res_folio and breaks out of the loop without dropping the dentry folio. This leaks the folio reference on the find_in_block() error path. Drop the dentry folio before returning the error to the caller. Signed-off-by: Guanghui Yang <3497809730@qq.com> Reviewed-by: Chao Yu --- fs/f2fs/dir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c index a9563f7fcd88..0562ad211351 100644 --- a/fs/f2fs/dir.c +++ b/fs/f2fs/dir.c @@ -320,6 +320,7 @@ static struct f2fs_dir_entry *find_in_level(struct inod= e *dir, =20 de =3D find_in_block(dir, dentry_folio, fname, &max_slots, use_hash); if (IS_ERR(de)) { + f2fs_folio_put(dentry_folio, false); *res_folio =3D ERR_CAST(de); de =3D NULL; break; base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa --=20 2.52.0.windows.1