From nobody Thu Dec 18 03:56:30 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 4FF8C2773E5 for ; Mon, 15 Dec 2025 12:28:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765801716; cv=none; b=QS6lVlVRACOrWMzxHHBm5q5KUV07ovPZ3cTFsTFeVo3SiamiGyVywNLeQl4K/zSlM8OJNjfSG6WS+gG8tBYRpoucnPLAjxgIRWSo7riWFb8Afga0wio+JfsWB3dbeRh2QjSZQREIf9J/a0vDOezHn7Dc1rB7yBpiZsQaew3vN3Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765801716; c=relaxed/simple; bh=RZvd85nvfhqfjtMWDxGTEAT94wttNeZtSpvWhvrUFu4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NhoQsowK+0OPO7VlaQe3NEvg3JKfL2Vk8G7VZYk8HcIpb3cCax7FasZpa9qOjN6QuhaVe8AwIkhJXxgRwMVOYsUgTWEp4SROnnFed8m8hKz8C9BNOW+De5YMdK+V+3pMIa95CwMz6ZRxEmmDM68oeLCGixzEF1BtqRnKvXkMHDg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=szihdfv9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="szihdfv9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C39DC4CEF5; Mon, 15 Dec 2025 12:28:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1765801715; bh=RZvd85nvfhqfjtMWDxGTEAT94wttNeZtSpvWhvrUFu4=; h=From:To:Cc:Subject:Date:From; b=szihdfv96P+cEPknHgyHbr8+JjurQJ1VAtmESL0TkloZG6bNMJh5MX/kdp/5Ohg8Z QLE1a7OhrRXZT+v7kEzJODLpHCf7tlmDupMj1FPIQfct7V12s/TecwXWOtwgBSvlpp 5Bw2Z1JT8+aEp0A2RAMX6JIfS2HmAkHCkTGbE+/1vHNTbEmQiF85qQlnzo4M+JDSKW qv17k+NszvEHVCH2RM5dADMR+fwuawlWmTzijmtZ7iwEfRU68u10ESY4zOAzlieXNc IBPuyrR09DtTHaCpX9vNRdoyK08h9Uw2QMlVcKYVbsZv4AZsehzFlEtCmQ6ySygtfM v+wbgZkfEuzrA== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu , stable@kernel.org Subject: [PATCH] f2fs: fix to sanity check on nat_entry.nid in f2fs_get_node_info() Date: Mon, 15 Dec 2025 20:28:30 +0800 Message-ID: <20251215122830.3495475-1-chao@kernel.org> X-Mailer: git-send-email 2.52.0.239.gd5f0c6e74e-goog 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" In order to avoid loading corrupted nat entry from disk. Cc: stable@kernel.org Signed-off-by: Chao Yu --- fs/f2fs/node.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index ce471e033774..13c88dfd790d 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -630,14 +630,15 @@ int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_= t nid, node_info_from_raw_nat(ni, &ne); f2fs_folio_put(folio, true); sanity_check: - if (__is_valid_data_blkaddr(ni->blk_addr) && + if (unlikely(ni->nid !=3D nid || + (__is_valid_data_blkaddr(ni->blk_addr) && !f2fs_is_valid_blkaddr(sbi, ni->blk_addr, - DATA_GENERIC_ENHANCE)) { + DATA_GENERIC_ENHANCE)))) { set_sbi_flag(sbi, SBI_NEED_FSCK); f2fs_err_ratelimited(sbi, - "f2fs_get_node_info of %pS: inconsistent nat entry, " + "f2fs_get_node_info of %pS: nid:%u, inconsistent nat entry, " "ino:%u, nid:%u, blkaddr:%u, ver:%u, flag:%u", - __builtin_return_address(0), + __builtin_return_address(0), nid, ni->ino, ni->nid, ni->blk_addr, ni->version, ni->flag); f2fs_handle_error(sbi, ERROR_INCONSISTENT_NAT); return -EFSCORRUPTED; --=20 2.49.0