Re: [PATCH -next] block: Fix the partition start may overflow in add_partition()

From: Christoph Hellwig
Date: Thu May 25 2023 - 04:55:37 EST


On Mon, May 22, 2023 at 03:06:15PM +0800, Zhong Jinghua wrote:
> + if (p.start < 0 || p.length <= 0 || p.start + p.length < 0)
> + return -EINVAL;
> +
> start = p.start >> SECTOR_SHIFT;
> length = p.length >> SECTOR_SHIFT;
>
> + /* length may be equal to 0 after right shift */
> + if (!length || start + length > get_capacity(bdev->bd_disk))
> + return -EINVAL;

While we're at it, shouldn't these be switched to use
check_add_overflow?