2024-02-26 16:22:13

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH 12/13] xfs: make the calculation generic in xfs_sb_validate_fsb_count()

On Mon, Feb 26, 2024 at 10:49:35AM +0100, Pankaj Raghav (Samsung) wrote:
> + if (check_mul_overflow(nblocks, (1 << sbp->sb_blocklog), &bytes))

Why would you not use check_shl_overflow()?

> + return -EFBIG;
> +
> + mapping_count = bytes >> PAGE_SHIFT;
> /* Limited by ULONG_MAX of page cache index */
> - if (nblocks >> (PAGE_SHIFT - sbp->sb_blocklog) > ULONG_MAX)
> + if (mapping_count > ULONG_MAX)
> return -EFBIG;
> return 0;
> }
> --
> 2.43.0
>


2024-02-29 09:52:12

by Pankaj Raghav (Samsung)

[permalink] [raw]
Subject: Re: [PATCH 12/13] xfs: make the calculation generic in xfs_sb_validate_fsb_count()

On Mon, Feb 26, 2024 at 01:21:56PM +0000, Matthew Wilcox wrote:
> On Mon, Feb 26, 2024 at 10:49:35AM +0100, Pankaj Raghav (Samsung) wrote:
> > + if (check_mul_overflow(nblocks, (1 << sbp->sb_blocklog), &bytes))
>
> Why would you not use check_shl_overflow()?

This looks better than check_mul_overflow. I will use this in the next
version.
>
> > + return -EFBIG;
> > +
> > + mapping_count = bytes >> PAGE_SHIFT;
> > /* Limited by ULONG_MAX of page cache index */
> > - if (nblocks >> (PAGE_SHIFT - sbp->sb_blocklog) > ULONG_MAX)
> > + if (mapping_count > ULONG_MAX)
> > return -EFBIG;
> > return 0;
> > }
> > --
> > 2.43.0
> >