summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc
diff options
context:
space:
mode:
authorKaixuan Li <kaixuanli0131@gmail.com>2026-09-19 21:09:24 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2026-10-15 23:08:41 +0000
commit080833a32fd5dc10b3acf2fa9af9b3213e6cb617 (patch)
tree3928e45f71128612d4b3f4125e465472f985078a /tools/lib/python/kdoc
parent714c68e85ba3a59ebffbb55fccd2d37c786642d2 (diff)
f2fs: bound the SIT/NAT bitmaps by the checkpoint pack
sit_ver_bitmap_bytesize and nat_ver_bitmap_bytesize are used as memcpy lengths into and out of sbi->ckpt, which is sized from cp_payload alone, and nothing compares either length against that allocation. sanity_check_ckpt() has checked these two fields since c77ec61ca0a4, which added them after a crafted image overran build_sit_info(). That check ties each length to a segment count; it never compares either against the allocation, which is the half this adds. Mounting over-reads in build_sit_info() and build_node_manager(), and the first checkpoint writes the same lengths back through the same pointers, so the over-read's contents reach the on-disk checkpoint. An unmount is enough; the filesystem does not have to be used. Bound both ends the way __bitmap_ptr() lays them out. The three branches differ, so a single sum of the two lengths would still admit a small overflow when cp_payload is non-zero. Fixes: 39a53e0ce0df ("f2fs: add superblock and major in-memory structure") Cc: stable@kernel.org Signed-off-by: Kaixuan Li <kaixuanli0131@gmail.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc')
0 files changed, 0 insertions, 0 deletions