On 2024/2/7 10:01, Zhiguo Niu wrote:
> 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.
Zhiguo,
Can you please try below patch to see whether it can fix your problem?
https://lore.kernel.org/linux-f2fs-devel/20240222121851.883141-3-chao@kernel.org
Thanks,
>
> More detail shown in following patch sets.
> The three patches are splited here because the modifications are
> relatively independent and more readable.
>
> ---
> Changes of v2: stop checkpoint when get a out-of-bound segment
> ---
>
> Zhiguo Niu (4):
> 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
> f2fs: stop checkpoint when get a out-of-bounds segment
>
> fs/f2fs/file.c | 7 ++++++-
> fs/f2fs/segment.c | 21 ++++++++++++++++-----
> fs/f2fs/segment.h | 7 ++++---
> include/linux/f2fs_fs.h | 1 +
> 4 files changed, 27 insertions(+), 9 deletions(-)
>