[PATCH 0/3] f2fs: fix panic issue in small capacity device

From: Zhiguo Niu
Date: Mon Jan 29 2024 - 05:22:55 EST


A panic issue happened in a reboot test in small capacity device
as following:
1.The device size is 64MB, and main area has 24 segments, and
CONFIG_F2FS_CHECK_FS is not enabled.
2.There is no any free segments left shown in free_segmap_info,
then another write request cause get_new_segment get a out-of-bound
segment with segno 24.
3.panic happen in update_sit_entry because access invalid bitmap
pointer.

More detail shown in following three patches.
The three patches are splited here because the modifications are
relatively independent and more readable.

Zhiguo Niu (3):
f2fs: correct counting methods of free_segments in __set_inuse
f2fs: fix panic issue in update_sit_entry
f2fs: enhance judgment conditions of GET_SEGNO

fs/f2fs/file.c | 7 ++++++-
fs/f2fs/segment.c | 9 ++++++---
fs/f2fs/segment.h | 7 ++++---
3 files changed, 16 insertions(+), 7 deletions(-)

--
1.9.1