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

From: zhongjinghua
Date: Thu May 25 2023 - 09:20:27 EST



在 2023/5/25 16:55, Christoph Hellwig 写道:
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?
p.start + p.length < 0 can use  check_add_overflow instead.