Re: [f2fs-dev] [PATCH] f2fs: use multiplication instead of division in sanity_check_raw_super

From: Chao Yu
Date: Mon Jul 01 2019 - 10:38:04 EST


Hi Song,

On 2019-7-1 21:38, Liu Song via Linux-f2fs-devel wrote:
> From: Liu Song <liu.song11@xxxxxxxxxx>
>
> Use multiplication instead of division and be more
> consistent with f2fs_msg output information.
>
> Signed-off-by: Liu Song <liu.song11@xxxxxxxxxx>
> ---
> fs/f2fs/super.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> index af58b2cc21b8..eba4c0f9c347 100644
> --- a/fs/f2fs/super.c
> +++ b/fs/f2fs/super.c
> @@ -2489,7 +2489,7 @@ static int sanity_check_raw_super(struct f2fs_sb_info *sbi,
> return 1;
> }
>
> - if ((segment_count / segs_per_sec) < total_sections) {

I think we use division intentionally to avoid potential overflow when doing
multiplication.

You can see the detailed commit message in below fixing patch:

0cfe75c5b011 ("f2fs: enhance sanity_check_raw_super() to avoid potential overflows")

Thanks,

> + if (segment_count < (segs_per_sec * total_sections)) {
> f2fs_msg(sb, KERN_INFO,
> "Small segment_count (%u < %u * %u)",
> segment_count, segs_per_sec, total_sections);
>